iText - Tworzenie dokumentu PDF

Zrozummy teraz, jak stworzyć dokument PDF za pomocą biblioteki iText.

Tworzenie pustego dokumentu PDF

Możesz utworzyć pusty dokument PDF, tworząc wystąpienie Documentklasa. Podczas tworzenia wystąpienia tej klasy musisz przekazać plikPdfDocument obiekt jako parametr jego konstruktora.

Poniżej przedstawiono kroki, aby utworzyć pusty dokument PDF.

Krok 1: Tworzenie obiektu PdfWriter

Plik PdfWriterreprezentuje Doc Writer dla pliku PDF. Ta klasa należy do pakietucom.itextpdf.kernel.pdf. Konstruktor tej klasy akceptuje ciąg znaków reprezentujący ścieżkę do pliku, w którym ma zostać utworzony plik PDF.

Utwórz wystąpienie klasy PdfWriter, przekazując wartość ciągu (reprezentującą ścieżkę, w której należy utworzyć plik PDF) do jej konstruktora, jak pokazano poniżej.

// Creating a PdfWriter 
String dest = "C:/itextExamples/sample.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Gdy obiekt tego typu jest przekazywany do PdfDocument (klasy), każdy element dodany do tego dokumentu zostanie zapisany w określonym pliku.

Krok 2: Tworzenie obiektu PdfDocument

Plik PdfDocumentclass to klasa reprezentująca dokument PDF w iText. Ta klasa należy do pakietucom.itextpdf.kernel.pdf. Aby utworzyć instancję tej klasy (w trybie pisania), musisz przekazać obiekt tej klasyPdfWriter do swojego konstruktora.

Utwórz wystąpienie klasy PdfDocument, przekazując utworzony powyżej obiekt PdfWriter do jej konstruktora, jak pokazano poniżej.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Po utworzeniu obiektu PdfDocument można dodać różne elementy, takie jak strona, czcionka, załącznik do pliku i moduł obsługi zdarzeń, używając odpowiednich metod udostępnionych przez jego klasę.

Krok 3: Dodanie pustej strony

Plik addNewPage() metoda PdfDocument klasa służy do tworzenia pustej strony w dokumencie PDF.

Dodaj pustą stronę do dokumentu PDF utworzonego w poprzednim kroku, jak pokazano poniżej.

// Adding an empty page 
pdfDoc.addNewPage();

Krok 4: Tworzenie obiektu dokumentu

Plik Document klasa pakietu com.itextpdf.layoutjest elementem głównym podczas tworzenia samowystarczalnego pliku PDF. Jeden z konstruktorów tej klasy akceptuje obiekt klasy PdfDocument.

Utwórz wystąpienie Document class poprzez przekazanie obiektu klasy PdfDocument utworzone w poprzednich krokach, jak pokazano poniżej.

// Creating a Document   
Document document = new Document(pdfDoc);

Krok 5: Zamknięcie dokumentu

Zamknij dokument za pomocą close() metoda Document klasa, jak pokazano poniżej.

// Closing the document 
document.close();

Przykład

Poniżej znajduje się program Java, który demonstruje tworzenie dokumentu PDF. Tworzy dokument PDF o nazwiesample.pdf, dodaje do niego pustą stronę i zapisuje ją w ścieżce C:/itextExamples/

Zapisz ten kod w pliku o nazwie create_PDF.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.layout.Document;  

public class create_PDF {    
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter       
      String dest = "C:/itextExamples/sample.pdf";       
      PdfWriter writer = new PdfWriter(dest); 
   
      // Creating a PdfDocument       
      PdfDocument pdfDoc = new PdfDocument(writer);              
   
      // Adding a new page 
      pdfDoc.addNewPage();               
   
      // Creating a Document        
      Document document = new Document(pdfDoc);               
   
      // Closing the document    
      document.close();              
      System.out.println("PDF Created");    
   } 
}

Skompiluj i uruchom zapisany plik Java z wiersza polecenia, używając następujących poleceń -

javac create_PDF.java 
java create_PDF

Po uruchomieniu powyższy program tworzy dokument PDF, wyświetlając następujący komunikat.

PDF created

Jeśli zweryfikujesz określoną ścieżkę, możesz znaleźć utworzony dokument PDF, jak pokazano poniżej.

Ponieważ jest to pusty dokument, jeśli spróbujesz otworzyć ten dokument, wyświetli się komunikat o błędzie, jak pokazano na poniższym zrzucie ekranu.