Operazioni I/O

Modelli I/O

Aspose.PDF FOSS per Java accetta costantemente sia percorsi file sia flussi Java come input e output in tutte le principali API, inclusi Document, PdfFileEditor e tutte le facade classes.

I/O del documento

La classe Document accetta una stringa di percorso file o un InputStream nel suo costruttore. Il metodo save() accetta una stringa di percorso file o 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);
}

Entrambi i costruttori caricano l’intero documento in memoria. Per documenti di grandi dimensioni, assicurati di avere spazio heap sufficiente o considera l’uso di PdfFileEditor.setUseDiskBuffer(true).

PdfFileEditor Supporto Stream

Le operazioni PdfFileEditor accettano sia stringhe di percorso file sia oggetti Java InputStream/OutputStream:

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 in memoria

Per le pipeline in memoria che evitano file temporanei, usa ByteArrayOutputStream per catturare l’output del documento, quindi avvolgi con ByteArrayInputStream per l’elaborazione a valle:

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 della facciata

Tutte le classi facciata (ad es. PdfAnnotationEditor, PdfContentEditor, PdfFileSecurity) seguono lo stesso schema bind-operate-save e accettano percorsi file, stream o un oggetto Document tramite il loro metodo bindPdf().

Vedi anche

 Italiano