iText - rysowanie łuku

W tym rozdziale zobaczymy, jak narysować łuk na dokumencie PDF za pomocą biblioteki iText.

Rysowanie łuku w pliku PDF

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

Aby narysować łuk na PdfDocument, utwórz wystąpienie PdfCanvas klasa pakietu com.itextpdf.kernel.pdf.canvas i utwórz łuk za pomocą arc() metoda tej klasy.

Poniżej przedstawiono kroki, aby narysować łuk na dokumencie PDF.

Krok 1: Tworzenie obiektu PdfWriter

Plik PdfWriterreprezentuje DocWriter 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/drawingArc.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 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: 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 4: Tworzenie obiektu PdfCanvas

Stwórz nowy PdfPage klasa przy użyciu addNewPage() metoda PdfDocument klasa.

Utwórz wystąpienie PdfCanvas przedmiot opakowania com.itextpdf.kernel.pdf.canvas przekazując powyższe utworzone PdfPage obiekt do konstruktora tej klasy, jak pokazano poniżej.

// Creating a new page 
PdfPage pdfPage = pdfDoc.addNewPage();           

// Creating a PdfCanvas object 
PdfCanvas canvas = new PdfCanvas(pdfPage);

Krok 5: Rysowanie łuku

Narysuj łuk za pomocą arc() metoda Canvas i wypełnij ją przy użyciu fill() metoda, jak pokazano poniżej.

// Drawing an arc 
canvas.arc(50, 50, 300, 545, 0, 360);   

// Filling the arc 
canvas.fill();

Krok 6: Zamknięcie dokumentu

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

// Closing the document 
document.close();

Przykład

Poniższy program w języku Java pokazuje, jak narysować łuk w dokumencie PDF przy użyciu biblioteki iText.

Tworzy dokument PDF o nazwie drawingArc.pdf, rysuje w nim łuk i zapisuje go na ścieżce C:/itextExamples/

Zapisz ten kod w pliku o nazwie DrawingArc.java.

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfPage; 
import com.itextpdf.kernel.pdf.PdfWriter; 
import com.itextpdf.kernel.pdf.canvas.PdfCanvas; 
import com.itextpdf.layout.Document;  

public class DrawingArc {
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter
      String dest = "C:/itextExamples/drawingArc.pdf";
      PdfWriter writer = new PdfWriter(dest);      

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

      // Creating a Document object
      Document doc = new Document(pdfDoc);

      // Creating a new page
      PdfPage pdfPage = pdfDoc.addNewPage();

      // Creating a PdfCanvas object
      PdfCanvas canvas = new PdfCanvas(pdfPage);

      // Drawing an arc
      canvas.arc(50, 50, 300, 545, 0, 360);

      // Filling the arc
      canvas.fill();              

      // Closing the document
      doc.close();
      
      System.out.println("Object drawn on pdf successfully");       
   }     
}

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

javac DrawingArc.java 
java DrawingArc

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

Object drawn on pdf successfully

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