PDF manipulacija dokumentom u Java-i

Aspose.PDF FOSS for Java provides a rich set of APIs for manipulating existing PDF U ovom slučaju, u skladu s člankom 21. stavkom 1. točkama (a) i (b) ovog članka, se primjenjuje sljedeća pravila: U ovom slučaju, to je vrlo važno. PdfFileEditor i drugove njegove, ContentsResizeParameters i u članku 1. ContentsResizeValue.

PdfFileEditor: Glavne operacije stranice

U skladu s člankom 1. PdfFileEditor Class je središnji sustav za operacije PDF datoteka visokog razine. Pruža metode za povezivanje više PDF datoteka, ekstrakciju podmnožina stranica., dijeljenje dokumenta na pojedinačne stranice i unosa stranica iz jednog dokumenta u drugu na određenoj poziciji.

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

Glavne metode uključuju:

  • concatenate(inputFiles, outputFile) spaja više dokumenata u redoslijedu
  • extract(inputFile, startPage, endPage, outputFile) izvozi neprekinutu razinu proizvoda
  • extract(inputFile, pageNumbers, outputFile) izvozi nespojivi skup
  • splitToPages(inputFile) dijeli se u jednu. ByteArrayOutputStream na stranicu
  • insert(inputFile, insertPosition, portFile, startPage, endPage, outputFile) uvodi opseg
  • delete(inputFile, pageNumbers, outputFile) uklanja određene stranice
  • append(inputFile, portFile, startPage, endPage, outputFile) dodaje raspon stranica

Za velike datoteke, setUseDiskBuffer(true) Prebaci unutarnji pohran iz heapa na disk.

Sadržaj preuređivanje s sadržajemRizinaParametri

PdfFileEditor.resizeContents() prilagođava sadržaj unutar postojećih granica stranice. Svaki margin lijevo, desno, gore, dolje ?? i širina sadržaja i visina su: određeno kao: ContentsResizeValue U slučaju da je to moguće, potrebno je uzeti u obzir sljedeće: ContentsResizeValue.percents(value) ili: 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");
}

Šest argument konstruktor za ContentsResizeParameters prihvaća vrijednosti u redoslijed: lijevaMargina, sadržajŠirokoća, desnaMarjina, gornjaMarzina, SadržajiVisoka, donja Margina. Sve šest mora biti 100% pri korištenju vrijednosti na temelju postotka ili se poklapa s stranicom. U slučaju primjene apsolutnih točaka, dimenzije.

Promjena veličine određenih stranica

Kada samo podskuplj stranica zahtijeva promjenu veličine, preopterećenje koje prihvaća cijeli niz brojeva stranice cilja te stranici dok ostavi ostatak nepromenjen:

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() i u članku 1. isPercent() omogućiti pregled skladištenog U tom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) stavka 2. točke (b) ovog članka, Komisija može utvrditi:.

Priloga i N-Up raspored

PdfFileEditor uključuje: makeBooklet() za postavljanje stranica u dvostrani brošure redoslijedu i u članku 1. makeNUp() za crtanje više stranica po listu. obje metode prihvaćaju putanje datoteke ili za vodene tokove:

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: Kontrola povećanja po stranici

PdfPageEditor cilja na pojedinačne osobine stranice, kao što je razina zumiranja. setZoom() prihvaća multiplikator koji kontrolira početno uvećanje kada dokument Otvoren je u prikazaču:

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

Vrijednosti: 0.0 ili negativne su odbačene getZoom() povratni podaci 1.0 u tim slučajevima. To čini… PdfPageEditor Odgovarajući članak. U ovom slučaju, u skladu s člankom 15. stavkom 2. točkom (a) Uredbe (EU) br. 1308/2013 i Uredbom (EZ) št. 765/2008 trebalo bi se upotrijebiti sljedeće:.

Početak

Dodajte Maven zavisnost i uvozite fasade paket:

<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.

Srodni resursi