Imprima un archivo PDF en una impresora usando PrintWriter a través de una conexión de socket
Tengo que imprimir un archivo pdf usando una impresora con una dirección IP específica. Puedo imprimir un texto específico pero quiero imprimir un archivo o un texto sintáctico html.
Mi código:
- Cómo importar el formato android.os.bundle en proyectos normales de java?
- Los sockets "localhost" de Android fallan cuando no hay conexión de datos?
- Conectar a un socket bloquea la interfaz de usuario
- Cómo acceder a Android desde el navegador
- Socket android DataOutputStream.writeUTF
try { Socket sock = new Socket("192.168.0.131", 9100); PrintWriter oStream = new PrintWriter(sock.getOutputStream()); oStream.println("HI,test from Android Device"); oStream.println("\n\n\n"); oStream.close(); sock.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
Indique también el motivo de la votación a la baja
Editar
Mucha gente está sugiriendo sobre PDLs pero cómo convertir el pdf a PDL?
- GCM: cómo evitar el estrangulamiento
- Programación de socket Android sin conexión WIFI
- Carga de datos desde la aplicación de Android al programa de escritorio
- Cierre el zócalo al terminar la aplicación
- Conectarse al conector Bluetooth de Android
- Problema con el archivo de envío de Bluetooth de Android
- Bluetooth En Android: mi Socket.connect () bloquea para siempre, y Socket.close no desbloquea
- ¿Cómo enviar el archivo usando bluetooth en android programatically?
Los datos enviados a una impresora deben estar en Idiomas de descripción de página (PDL), idioma comprador de impresora. Aquí usted puede encontrar una comprensión básica de aquellos. La cadena ASCII es entendida por la mayoría de las impresoras, por eso es posible imprimir la cadena. Pero cuando se trata de formatos de documentos complejos como (PDF, Excels, página HTML, etc), usted tiene que convertir el documento en uno de los PDL. Los PDL más comunes con los que he trabajado son PostScript (PS) y PCL (Printer Command Language).
Ahora, para imprimir un PDF con un formato exacto (para el que necesita una solución), debe convertir el documento PDF a PCL o Postscript y enviar los datos PCL o postscript a la impresora. Puede utilizar ghostscript para convertir su PDF a PS o PCL.
No he hecho exactamente lo que está tratando de hacer, pero creo que lo que he explicado anteriormente es el comienzo para usted.
Yo estaría muy interesado en saber si usted es capaz de hacerlo. Házmelo saber.
Necesita usar la biblioteca PDFBox que también está disponible para Android.
Usted puede utilizarlo para obtener el texto PDF y luego utilizarlo para su propósito –
Una muestra de java –
import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea; public class myProgram{ public static void main(String[] args) try { PDDocument document = null; document = PDDocument.load(new File("my_file.pdf")); document.getClass(); if (!document.isEncrypted()) { PDFTextStripperByArea stripper = new PDFTextStripperByArea(); stripper.setSortByPosition(true); PDFTextStripper Tstripper = new PDFTextStripper(); String st = Tstripper.getText(document); System.out.println("Text:" + st); } } catch (Exception e) { e.printStackTrace(); } }
PdfBox-Para-Android
O utilizar MuPDF
Como se sugirió anteriormente, puede probar pdfbox para extraer texto, pero también necesita preservar el formato especialmente, alrededor de las tablas para las cuales pdftron parece ser una mejor opción. Ofrece muchos apis convenientes para lograr lo mismo. Puede consultar su sitio para ver ejemplos totalmente funcionales.
Nota: No estoy representando pdftron ni trabajo para ellos.
- Llame a una clase de servicio Una vez al día cuando la aplicación se inicia en android, con menos consumo de batería
- Archivo de preferencias del usuario vs Archivo de preferencias de la aplicación