Pregunta

Estoy tratando de imprimir archivos PDF en silencio desde una aplicación Java (más específicamente un Webapp J2EE).

Dentro de esta aplicación que estoy creando archivos PDF con iText. Los archivos creados son cartas modelo, cada uno compuesto por exactamente una página.

Para hacer e imprimir estos archivos PDF He intentado utilizar la biblioteca pdf-procesador. (Ver aquí: https://pdf-renderer.dev.java.net/ )

he encontrado un código de ejemplo útil en http://juixe.com/techknow/index.php/2008/01/17/print-a-pdf-document-in-java/ y, de hecho, no pasó mucho tiempo hasta yo era capaz de imprimir el primer documento de mi máquina de trabajo.

Pero ahora viene la parte divertida:

Después de imprimir cada uno de los archivos PDF de alguna manera estaba jodido. Todavía era legible y todo, pero todo el formato fue un poco loco. Linebrakes donde no deberían estar, artefactos de error en la imagen contenida, unterlining de texto es repentinamente más o menos largo como se supone ...

Además de lo que estaba impreso fue también este 'hackeado' versión ... Así que supongo que el error tiene que estar en alguna parte en el proceso de renderizado.

Este es el código fuente responsable de toda la representación y la impresión de proceso:

File f = this.file; //This accesses the created PDF file

FileInputStream fis = new FileInputStream(f);

FileChannel fc = fis.getChannel();

ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());

PDFFile pdfFile = new PDFFile(bb); // Create PDF Print Page

PDFPrintPage pages = new PDFPrintPage(pdfFile);



// Create Print Job

PageFormat pf = PrinterJob.getPrinterJob().defaultPage();

pjob.setJobName(f.getName());

Book book = new Book();

book.append(pages, pf, pdfFile.getNumPages());

pjob.setPageable(book);

Otro hecho de la diversión: El atornillar encima de PDF de sólo ocurre en los documentos PDF creados iText. Si se intenta imprimir alguna otra aleatoria PDF que no consigue destrozado.

alguna idea acerca de lo que podría ser el problema? Y cómo puede afectar a la prestación de mis PDF en absoluto? Según tengo entendido el código scource, el modo READ_ONLY debe prevenir exactamente eso ...

EDIT: acabo de ver que la impresión de un PDF creado iText también elimina las fuentes incrustadas. Una vez más, antes de renderizar / impresión a través de pdf-procesador de esto funcionó perfectamente bien. (Fuentes también se presentó en las propiedades de PDF, etc ...)

¿Fue útil?

Solución

Tal vez iText es la creación de archivos PDF que no son compatibles con el procesador? Ha comprobado que versión PDF se crea? Tal vez es posible especificar una versión anterior?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top