J'essaie de prendre un objet PDDocument
et de le passer à un autre module en tant que InputStream
sans enregistrer le document dans le système de fichiers. Maintenant, j'ai lu environ PDStream
et j'ai compris le but de cela. Par conséquent, j'ai essayé de faire quelque chose comme ceci:PDFBox document à InputStream
PDStream stream = new PDStream(document);
InputStream is = stream.createInputStream();
Mais lorsque je tente de charger ce flux d'entrée dans un PDDocument
, je reçois cette erreur:
Exception in thread "main" java.io.IOException: Error: End-of-File, expected line
at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1111)
at org.apache.pdfbox.pdfparser.COSParser.parseHeader(COSParser.java:1885)
at org.apache.pdfbox.pdfparser.COSParser.parsePDFHeader(COSParser.java:1868)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:245)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1098)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:995)
at app.DGDCreator.main(DGDCreator.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:143)
Plus tard, je découvre que le fichier résultat est 0kb taille ...
Pourquoi ne pas utiliser un 'java.io.Input/OutputStream' et' save (OutputStream out) 'et' charge (InputStream) '? – PeterMmm
Parce que je ne veux pas enregistrer le document. Je veux le passer comme un flux de données à un autre module –
Que voulez-vous faire avec le document dans l'autre module? Pourquoi ne pas simplement passer l'objet document? – teppic