PDF Επαναφορά εγγράφων σε Java

Aspose.PDF FOSS for Java provides a rich set of APIs for manipulating existing PDF έγγραφα — διαχωρισμός, συγκόλληση, εξαγωγή σελίδων, εισάγετε τις γραμμές της σελίδας και ανακαταστήσει το περιεχόμενο μέσα στις σελίδες. αυτές οι δυνατότητες συγκεντρώνονται σε PdfFileEditor και τις τάξεις των συντρόφων της ContentsResizeParameters και ContentsResizeValue.

PdfFileEditor: Κύρια σελίδα λειτουργίες

Η PdfFileEditor Η τάξη είναι η κεντρική εγκατάσταση για τις λειτουργίες αρχείων PDF υψηλού επιπέδου. Παρέχει μεθόδους για την συγκόλληση πολλαπλών αρχείων PDF, εξάγοντας υποσκέψεις σελίδας, - διαιρέσεις ενός εγγράφου σε μεμονωμένες σελίδες και εισαγωγή σελίδων από ένα έγγραφο σε μια άλλη θέση.

PdfFileEditor editor = new PdfFileEditor();
// Concatenate two documents into one
editor.concatenate("first.pdf", "second.pdf", "combined.pdf");
// Extract pages 2 through 5 to a new file
editor.extract("source.pdf", 2, 5, "extracted.pdf");

Οι βασικές μεθόδους περιλαμβάνουν:

  • concatenate(inputFiles, outputFile) - να συγχωνεύσει πολλαπλά έγγραφα για την
  • extract(inputFile, startPage, endPage, outputFile) - Εξαγωγή με ένα διαρκές εύρος
  • extract(inputFile, pageNumbers, outputFile) - Εξαγωγή μη συνδετικού συστήματος
  • splitToPages(inputFile) - χωρίζεται σε ένα ByteArrayOutputStream ανά σελίδα
  • insert(inputFile, insertPosition, portFile, startPage, endPage, outputFile) - Εισάγετε ένα εύρος
  • delete(inputFile, pageNumbers, outputFile) - Απομακρύνει συγκεκριμένες σελίδες
  • append(inputFile, portFile, startPage, endPage, outputFile) - Εφαρμόστε μια περιοχή σελίδας

Για τα μεγάλα αρχεία, setUseDiskBuffer(true) Μετακινεί την εσωτερική αποθήκευση από το πλέγμα σε δίσκο.

Περιεχόμενο Αναστροφή με περιεχόμεναResizeParameters

PdfFileEditor.resizeContents() Προσαρμόζει το περιεχόμενο εντός των υφιστάμενων ορίων σελίδας. Κάθε περιθώριο - αριστερά, δεξιά, πάνω, κάτω - και το εύρος και η ύψος του περιεχομένου είναι Ορισμένο ως ContentsResizeValue Εισαγωγή, που δημιουργήθηκε με τη χρήση των εργοστασιακών μέτρων ContentsResizeValue.percents(value) ή ContentsResizeValue.units(value).

try (Document doc = new Document("input.pdf")) {
    PdfFileEditor editor = new PdfFileEditor();
    ContentsResizeParameters params = new ContentsResizeParameters(
        ContentsResizeValue.percents(10),   // left margin
        ContentsResizeValue.percents(80),   // content width
        ContentsResizeValue.percents(10),   // right margin
        ContentsResizeValue.percents(10),   // top margin
        ContentsResizeValue.percents(80),   // content height
        ContentsResizeValue.percents(10)    // bottom margin
    );
    editor.resizeContents(doc, params);
    doc.save("resized.pdf");
}

Ο έξις κατασκευαστής του κτιρίου για την ContentsResizeParameters Αποδέχεται τις αξίες του παραγγελία: leftMargin, contentsWidth, rightMargin, topM argin , contentHeight, bottomMargent. Όλα τα έξι πρέπει να συνοψίζονται στο 100% όταν χρησιμοποιείτε ποσοστιαίες τιμές, ή αντιστοιχούν στη σελίδα. Η χρήση των απολύτων τιμών σημείων.

Ανακατεύθυνση ειδικών σελίδων

Όταν μόνο ένα υποσυνταγμα σελίδων απαιτεί αναπαραγωγή, το υπερφόρτωση που δέχεται μια ολόκληρη σειρά αριθμών σελίδας στοχεύει σε αυτές τις σελίδες ενώ αφήνει τα υπόλοιπα αμετάβλητα:

PdfFileEditor editor = new PdfFileEditor();
ContentsResizeParameters params = new ContentsResizeParameters(
    ContentsResizeValue.units(28),   // left margin in points
    ContentsResizeValue.units(540),  // content width
    ContentsResizeValue.units(28),   // right margin
    ContentsResizeValue.units(28),   // top margin
    ContentsResizeValue.units(786),  // content height
    ContentsResizeValue.units(28)    // bottom margin
);
// Only resize pages 1 and 3
editor.resizeContents(doc, new int[]{1, 3}, params);

ContentsResizeValue.getValue() και isPercent() Επιτρέπεται η επιθεώρηση των αποθηκευμένων Αξιολόγηση και καθορισμός του αν αντιπροσωπεύει ποσοστό ή απόλυτο αριθμό σημείων.

Το Booklet και το N-Up Layout

PdfFileEditor περιλαμβάνει makeBooklet() Για την επιβολή σελίδων σε διμερή σειρά βιβλίου και makeNUp() για την προσθήκη πολλαπλών σελίδων ανά φύλλο. και οι δύο μεθόδους αποδέχονται τα μονοπάτια αρχείων ή Στραμίνες :

PdfFileEditor editor = new PdfFileEditor();
// Print as a folded booklet
editor.makeBooklet("input.pdf", "booklet.pdf");
// Tile 2 columns × 3 rows per sheet
editor.makeNUp("input.pdf", "nup.pdf", 2, 3);

PdfPageEditor: Ο έλεγχος ζώματος ανά σελίδα

PdfPageEditor Στόχος μεμονωμένων ιδιοτήτων σελίδας, όπως το επίπεδο ζούμ. setZoom() αποδέχεται έναν πολλαπλασιαστή πλωτών που ελέγχει την αρχική μεγέθυνση όταν το έγγραφο Ανοίγει σε ένα θεατή:

PdfPageEditor pageEditor = new PdfPageEditor();
pageEditor.bindPdf("input.pdf");
pageEditor.setZoom(1.5f);
pageEditor.save("zoomed.pdf");

Αξίες της 0.0 ή αρνητικά απορρίπτονται - getZoom() Επιστροφή 1.0 Σε αυτές τις περιπτώσεις. Αυτό κάνει PdfPageEditor κατάλληλο για την προετοιμασία εγγράφων που πρέπει να ανοίξουν σε συγκεκριμένο μεγέθυνση για την προσβασιμότητα ή τα περιπτώσεις χρήσης της οθόνης kiosk.

Ξεκινώντας

Προσθέστε την εξάρτηση του Maven και εισάγετε το πακέτο φακέλων:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-pdf</artifactId>
  <version>0.1.0-alpha</version>
</dependency>
import org.aspose.pdf.*;
import org.aspose.pdf.facades.*;

Aspose.PDF FOSS for Java is MIT-licensed and available at https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Java.

Σχετικοί Πόροι