iText - rysowanie okręgu
W tym rozdziale zobaczymy, jak narysować okrąg na dokumencie PDF za pomocą biblioteki iText.
Rysowanie okręgu na pliku 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.
Aby narysować okrąg na PdfDocument, utwórz wystąpienie PdfCanvas klasa pakietu com.itextpdf.kernel.pdf.canvas i wywołaj circle() metoda tej klasy.
Poniżej przedstawiono kroki, aby narysować okrąg 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/drawingCircle.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 PdfDocumentklasa. Utwórz wystąpieniePdfCanvas przedmiot opakowania com.itextpdf.kernel.pdf.canvas przekazując 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 Ustawianie koloru
Ustaw kolor koła za pomocą setColor() metoda Canvas klasa, jak pokazano poniżej.
// Setting color to the circle
Color color = Color.GREEN;
canvas.setColor(color, true);
Krok 6: Rysowanie okręgu
Narysuj okrąg, wywołując circle() metoda Canvas, jak pokazano niżej.
// creating a circle
canvas.circle(300, 400, 200);
Krok 7: 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 demonstruje, jak narysować okrąg na dokumencie PDF przy użyciu biblioteki iText. Tworzy dokument PDF o nazwiedrawingCircle.pdf, rysuje w nim okrąg i zapisuje go na ścieżce C:/itextExamples/
Zapisz ten kod w pliku o nazwie DrawingCircle.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 DrawingCircle {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingCircle.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);
// Setting color to the circle
Color color = Color.GREEN;
canvas.setColor(color, true);
// creating a circle
canvas.circle(300, 400, 200);
// Filling the circle
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 DrawingCircle.java
java DrawingCircle
Po uruchomieniu powyższy program tworzy dokument PDF z następującym komunikatem.
Object drawn on pdf successfully
Jeśli zweryfikujesz określoną ścieżkę, możesz znaleźć utworzony dokument PDF, jak pokazano poniżej.