Ich habe ein Servlet, das ein PDF-Dokument an den anfordernden Benutzer zurückgibt. Wenn es von einem Browser aufgerufen wird, wird das PDF-Dokument automatisch heruntergeladen. Nun muss ich dieses Servlet von Java (Standalone-Code, nicht Server-Seite) aufrufen. Sobald dieser Java-Code das PDF-Dokument erhält, muss es mithilfe der Apache PDF Box API in Bilder konvertiert werden.BufferedReader in Datei konvertieren
So sieht mein Java-Code aus. Es schreibt Bytes auf den Bildschirm.
URL url = new URL("http://localhost:8080/Stream/Document&type=pdf");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line = in.readLine();
System.out.println(line);
in.close();
und das ist, wie der Code es zu Bildern konvertiert sieht aus wie
String pdfFileName = "myfile.pdf";
PDDocument document = PDDocument.load(new File(pdfFileName));
Jetzt muss ich diese beiden, so dass die PDF-Datei zu kombinieren, die (im Speicher heruntergeladen wird, würde es vorziehen, nicht zu schreibe es in Dateisystem) wird in JPG konvertiert. Anstatt also einen fest codierten Dateinamen zu übergeben, muss ich das BufferedReader-Objekt irgendwie in das File-Objekt konvertieren und es als Eingabe an PDDocument übergeben.
Ich bin nicht in der Lage zu erkennen, wie diese Umwandlung passieren würde.
Hinweis: https://pdfbox.apache.org/docs/2.0.2/javadocs/org/apache/pdfbox/ pdmodel/PDDocument.html # load (java.io.InputStream) (und ** InputStream ** Reader) –
Ihr erster Fehler ist, dass PDF-Dateien keine Zeichendaten sind und mit einem 'InputStream' gelesen werden sollten, nicht mit einem' Reader' . – EJP