konnte ich eine PDF-Datei mit PDFBox (Version 1.8.9) erstellen und sie dann mit dem folgenden Code in eine Postscript-Datei konvertieren:Wie man eine PDF in eine Postscript-Datei konvertieren PDFBox mit 2,0
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
StreamPrintServiceFactory[] factories =
StreamPrintServiceFactory.lookupStreamPrintServiceFactories(flavor,
DocFlavor.BYTE_ARRAY.POSTSCRIPT.getMimeType());
if (factories.length == 0) {
throw new PrinterException("No PostScript factories available");
}
PDDocument document = pdfGenerator.getDocument();
// Attributes are specified by https://docs.oracle.com/javase/7/docs/api/
// see package javax.print.attribute.standard
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.NA_LETTER);
aset.add(new PageRanges(1, document.getNumberOfPages()));
FileOutputStream fos = new FileOutputStream(filePathAndName);
factories[0].getPrintService(fos).createPrintJob().print(
new SimpleDoc(new PDPageable(document), flavor, null), aset);
fos.close();
document.close();
Das PDPageable-Objekt scheint nicht im PDFBox 2.0-Code enthalten zu sein, und ich habe es nicht im Migrationsdokument angegeben. Wie konvertiere ich eine PDF-Datei mit der PDFBox 2.0 in eine PostScript-Datei?
Danke
Es gibt ein PDFPageable. –
Wenn Sie die Antwort auf Ihre Frage finden, ist es hilfreich, es als Antwort zu posten. Auf diese Weise können andere von dem, was du herausgefunden hast, lernen. –
Danke. Am Ende nutzte ich PDFBox, um das PDF zu lesen und die Postscript-Befehle selbst zu schreiben, indem ich die x/y-Koordinaten verwendete, die PDFBox aus der PDF-Datei gelesen hatte. Ich wollte mir Postscript-Befehle nicht selbst beibringen müssen, aber das war die einzige Möglichkeit, dass ich eine Postscript-Datei erstellen konnte, die einigermaßen groß war. Die PDPageable-Klasse schrieb jede PDF-Seite als ein Bild, so dass die Post-Skript-Datei um ein Vielfaches größer war, als ich benötigte. – user3991484