Operacje I/O

Wzorce I/O

Aspose.PDF FOSS dla Java konsekwentnie akceptuje zarówno ścieżki plików, jak i strumienie Java jako wejście i wyjście we wszystkich głównych API, w tym Document, PdfFileEditor oraz wszystkie klasy fasadowe.

I/O dokumentu

Klasa Document przyjmuje w konstruktorze ciąg ścieżki pliku lub InputStream. Metoda save() przyjmuje ciąg ścieżki pliku lub 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);
}

Oba konstruktory wczytują cały dokument do pamięci. Dla dużych dokumentów zapewnij wystarczającą przestrzeń sterty lub rozważ użycie PdfFileEditor.setUseDiskBuffer(true).

PdfFileEditor Obsługa strumieni

Operacje PdfFileEditor akceptują zarówno ciągi ścieżek plików, jak i obiekty 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);

Potoki w pamięci

Dla potoków w pamięci, które unikają plików tymczasowych, użyj ByteArrayOutputStream do przechwytywania wyjścia dokumentu, a następnie opakuj go w ByteArrayInputStream w celu dalszego przetwarzania:

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);

Fasada I/O

Wszystkie klasy fasady (np. PdfAnnotationEditor, PdfContentEditor, PdfFileSecurity) stosują ten sam wzorzec bind-operate-save i akceptują ścieżki plików, strumienie lub obiekt Document poprzez ich metodę bindPdf().

Zobacz także

 Polski