I/O-bewerkingen
I/O-patronen
Aspose.PDF FOSS voor Java accepteert consequent zowel bestandspaden als Java-streams als invoer en uitvoer in alle belangrijke API’s, inclusief Document, PdfFileEditor, en alle façadeklassen.
Document I/O
De Document klasse accepteert een bestandspad-string of een InputStream in zijn constructor. De save() methode accepteert een bestandspad-string of een OutputStream.
// File path input
try (Document doc = new Document("input.pdf")) {
doc.save("output.pdf");
}
// Stream input/output
try (Document doc = new Document(inputStream)) {
doc.save(outputStream);
}Beide constructors laden het volledige document in het geheugen. Voor grote documenten, zorg voor voldoende heap-ruimte of overweeg het gebruik van PdfFileEditor.setUseDiskBuffer(true).
PdfFileEditor Streamondersteuning
PdfFileEditor operaties accepteren zowel bestandspad-strings als Java InputStream/OutputStream objecten:
PdfFileEditor editor = new PdfFileEditor();
// All operations support both file paths and streams
editor.concatenate(new InputStream[]{s1, s2}, outputStream);
editor.extract(inputStream, 1, 3, outputStream);In-Memory-pijplijnen
Voor in-memory-pijplijnen die tijdelijke bestanden vermijden, gebruik ByteArrayOutputStream om de documentoutput vast te leggen, en wikkel vervolgens in ByteArrayInputStream voor downstream verwerking:
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
try (Document doc = new Document()) {
doc.getPages().add();
doc.save(buffer);
}
byte[] pdfBytes = buffer.toByteArray();
// Pass pdfBytes downstream — no temp file needed
ByteArrayInputStream next = new ByteArrayInputStream(pdfBytes);Facade I/O
Alle façade-klassen (bijv. PdfAnnotationEditor, PdfContentEditor, PdfFileSecurity) volgen hetzelfde bind-operate-save-patroon en accepteren bestandspaden, streams of een Document-object via hun bindPdf()-methode.