Hace unos días, mi hermana de repente me dijo que compró un libro electrónico en JD. Después de comprarlo, descubrió que solo podía leerlo en línea o usar su propio lector. Fue muy inconveniente, así que me pedí que pensara en una solución.
Empecé a pensarlo. Al principio, usé directamente Acrobat Reader para abrirlo y descubrí que solo había directorios, nada más, y las páginas estaban presentes. Pensé que se podría agregar una máscara al contenido correcto. Las personas que solo pueden usar la "clave" pueden filtrarlo. Para descifrar los editores de otras personas, definitivamente no funcionará en poco tiempo. Muchas personas en Internet también pensaron en usar scripts automatizados para tomar capturas de pantalla automáticamente de los lectores oficiales, pero descubrí que las capturas de pantalla no son Page by Page, lo cual está muy confundido. Finalmente, solo puedo encontrar una manera leyendo esta línea en línea.
Este método es similar a los de los internautas. Se guarda como una imagen y cómo convertirlo en un PDF a través de la herramienta PDF.
Me sorprendió descubrir que el documento es realmente bueno, con una imagen por página, se ha hecho por usted, pero solo las primeras y las últimas imágenes de la página actual se actualizarán a la vez, y las otras se borrarán. En este punto, hay una forma de pensar:
Los pasos 1 a 3 deben repetirse y se pueden implementar utilizando herramientas y scripts automatizados.
Paso 4 Simplemente escriba un controlador, solo la interfaz Java más simple.
Paso 5: Se puede lograr el servicio directo en línea.
¿Por qué necesitamos almacenar en caché primero la descarga? Esto implica un problema de eficiencia, deduplicación de imágenes y filtrado, porque las imágenes obtenidas después de cada ajuste pueden duplicarse y la reduplicación se deduplicará automáticamente; También es para evitar problemas como la salida anormal en el medio de la descarga al obtener la ruta de imagen y otras tareas que no se pueden ejecutar normalmente. Luego, el script obtiene la ruta y la guarda en su propio servidor. El único problema puede ser el problema del dominio cruzado. Como resultado, descubrí que todavía faltaban algunas imágenes, lo que me hizo darme cuenta de los beneficios de usar caché. Puedo verificar directamente que esas imágenes faltaban a través del código sin verificar el archivo JPG, el número de archivos con menos dígitos únicos y finalmente completado manualmente.
El único defecto en las imágenes obtenidas de esta manera es que tienen las palabras "lectura JD" y la resolución de la imagen no es muy alta, y la fuente parece tener algo peludo. Si tiene un trastorno obsesivo compulsivo o busca alta calidad, use el lector oficial. ¡Personalmente lo leí claramente, es un documento, no una imagen! ! !
El siguiente es el código para guardar datos de red en el área local a través de la URL.
clase pública httpurlconnectionUtil {// stream de datos para obtener los datos de respuesta del lector a través de la solicitud Public static inputstream getinputStreamByget (string url) {try {httpurlconnection conn = (httpurlconnection) nueva url (url) .openconnection (); Conn.SetReadTimeOut (5000); Conn.SetConnectTimeOut (5000); Conn.setRequestMethod ("Get"); if (conn.getResponseCode () == httpurlconnection.http_ok) {inputStream inputStream = conn.getInputStream (); return inputStream; }} catch (ioException e) {E.PrintStackTrace (); } return null;} // Guardar la respuesta de datos del servidor al archivo local public static void saveData (inputStream es, archivo de archivo) {try (bufferedInputStream bis = new BufferedInputStream (is); BufferedOutputStream Bos = new BuffeDutputStream (newOutputPutputput (archivo));) int len = -1; while ((len = bis.read (buffer))! = -1) {bos.write (buffer, 0, len); bos.flush (); }} catch (ioException e) {E.PrintStackTrace (); }}}Llamado:
Set <string> imgnumber = (set <string>) redistemplate.opsforhash (). Keys (map_key); imgnumber.stream (). Foreach (e-> {string url = (string) redistemplate.opsforhash (). Get (map_key, e); string fileNeMame = e+". Jpg"; file file = new file ("e: // pt phash nombre de archivo);Resumir
El anterior es el código de ejemplo que el editor le presentó sobre Java leyendo datos remotos a través de URL y mantenerlo localmente. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!