Operațiuni de I/O
Modele de I/O
Aspose.PDF FOSS for Java consistently accepts both file paths and Java streams as intrări și ieșiri în toate principalele API, inclusiv: Document, PdfFileEditor, şi toate … clasele de faţadă.
Documentul I/O
În ceea ce priveşte Document clasa acceptă o șir de fișiere sau un InputStream în constructorul său. În ceea ce priveşte save() metoda acceptă o șir de fișiere sau un 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);
}Ambele constructori încărcă întregul document în memorie. Pentru documente mari, asigurați-vă că suficient spațiu de grămadă sau să ia în considerare utilizarea PdfFileEditor.setUseDiskBuffer(true).
Suport pentru fluxul PdfFileEditor
PdfFileEditor operațiunile acceptă atât file-uri de șir și Java InputStream/OutputStream obiecte:
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);Pipeline-uri în memorie
Pentru conductele din memorie care evită fișierele temporare, utilizați: ByteArrayOutputStream la … în capture output document, apoi înfășura cu ByteArrayInputStream pentru prelucrarea ulterioară:
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);I/O fațadă
Toate clasele de fațadă (de exemplu:. PdfAnnotationEditor, PdfContentEditor, PdfFileSecurity) urmează același model de bind-operate-save și acceptă căile fișierelor, fluxurile sau o Document obiectul prin intermediul lor bindPdf() metodă.