iText - Hızlı Kılavuz
Taşınabilir Belge Biçimi (PDF), verileri uygulama yazılımı, donanım ve işletim sistemlerinden bağımsız bir şekilde sunmaya yardımcı olan bir dosya biçimidir. Her PDF dosyası, metin, yazı tipleri, grafikler ve onu görüntülemek için gereken diğer bilgiler dahil olmak üzere sabit yerleşimli düz bir belgenin açıklamasını içerir.
PDF belgelerini programlar aracılığıyla oluşturmak ve işlemek için kullanılabilen birkaç kitaplık vardır, örneğin:
Adobe PDF Library- Bu kütüphane, C ++, .NET ve Java gibi dillerde API sağlar. Bunu kullanarak PDF belgelerindeki metni düzenleyebilir, görüntüleyebilir, yazdırabilir ve çıkarabiliriz.
Formatting Objects Processor- XSL Formatting Objects ve çıktıdan bağımsız bir formatlayıcı tarafından yönlendirilen açık kaynaklı baskı formatlayıcı. Birincil çıktı hedefi PDF'dir.
PDF Box- Apache PDFBox, PDF belgelerinin geliştirilmesini ve dönüştürülmesini destekleyen açık kaynaklı bir Java kitaplığıdır. Bu kitaplığı kullanarak, PDF belgelerini oluşturan, dönüştüren ve işleyen Java programları geliştirebilirsiniz.
Jasper Reports - Bu, Microsoft Excel, RTF, ODT, virgülle ayrılmış değerler ve XML dosyaları dahil olmak üzere PDF belgesinde raporlar oluşturan bir Java raporlama aracıdır.
İText nedir?
Yukarıda listelenen yazılımın iText'ine benzer şekilde, PDF belgelerini oluşturan, dönüştüren ve işleyen Java programları geliştirebileceğiniz bir Java PDF kitaplığıdır.
İText'in özellikleri
İText kitaplığının dikkate değer özellikleri aşağıdadır -
Interactive- iText, etkileşimli PDF belgeleri oluşturmak için size sınıflar (API'ler) sağlar. Bunları kullanarak haritalar ve kitaplar oluşturabilirsiniz.
Adding bookmarks, page numbers, etc - iText'i kullanarak yer imleri, sayfa numaraları ve filigran ekleyebilirsiniz.
Split & Merge - iText'i kullanarak, mevcut bir PDF'yi birden çok PDF'ye bölebilir ve ayrıca buna ek sayfalar ekleyebilir / birleştirebilirsiniz.
Fill Forms - iText kullanarak, bir PDF belgesinde etkileşimli formları doldurabilirsiniz.
Save as Image - iText kullanarak, PDF'leri PNG veya JPEG gibi görüntü dosyaları olarak kaydedebilirsiniz.
Canvas - iText kitaplığı, PDF belgesine daire, çizgi vb. Gibi çeşitli geometrik şekiller çizebileceğiniz bir Canvas sınıfı sağlar.
Create PDFs- iText kullanarak, Java programlarınızdan yeni bir PDF dosyası oluşturabilirsiniz. Görüntüleri ve yazı tiplerini de ekleyebilirsiniz.
IText Ortamı
İText ortamını Eclipse üzerinde ayarlamak için aşağıdaki adımları izleyin.
Step 1 - Eclipse'i kurun ve aşağıda gösterildiği gibi içinde yeni bir proje açın.
Step 2 - Oluştur iTextSample aşağıda gösterildiği gibi proje.
Step 3- Projeye sağ tıklayın ve aşağıda gösterildiği gibi bir Maven projesine dönüştürün. Maven projesine dönüştürdüğünüzde, size birpom.xmlgerekli bağımlılıkları belirtmeniz gereken yer. Bundan sonrajar bu bağımlılıkların dosyaları otomatik olarak projenize indirilecektir.
Step 4 - Şimdi, pom.xml , aşağıdaki içeriği kopyalayıp yapıştırın (iText uygulaması için bağımlılıklar) ve projeyi yenileyin.
Using pom.xml
Projeyi Maven projesine dönüştürün ve aşağıdaki içeriği projesine ekleyin. pom.xml.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>SanthoshExample</groupId>
<artifactId>SanthoshExample</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- always needed -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>pdfa</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>sign</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>barcodes</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>font-asian</artifactId>
<version>7.0.2</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>hyph</artifactId>
<version>7.0.2</version>
</dependency>
</dependencies>
</project>
Son olarak, Maven bağımlılıklarını gözlemlerseniz, tüm gerekli olanların jar dosyalar indirildi.
Şimdi iText kitaplığını kullanarak bir PDF belgesinin nasıl oluşturulacağını anlayalım.
Boş Bir PDF Belgesi Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
Boş bir PDF belgesi oluşturma adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWriterclass, bir PDF için Doc Writer'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/sample.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Boş bir sayfa ekleme
addNewPage() yöntemi PdfDocument sınıfı, PDF belgesinde boş bir sayfa oluşturmak için kullanılır.
Önceki adımda oluşturulan PDF belgesine aşağıda gösterildiği gibi boş bir sayfa ekleyin.
// Adding an empty page
pdfDoc.addNewPage();
4. Adım: Belge nesnesi oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 5: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document aşağıda gösterildiği gibi sınıf.
// Closing the document
document.close();
Misal
Aşağıda, bir PDF Belgesinin oluşturulmasını gösteren Java programı yer almaktadır. Adıyla bir PDF belgesi oluşturursample.pdf, boş bir sayfa ekler ve bunu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin 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");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac create_PDF.java
java create_PDF
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
PDF created
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu boş bir belge olduğundan, bu belgeyi açmaya çalışırsanız, aşağıdaki ekran görüntüsünde gösterildiği gibi bir hata mesajı görüntüler.
Bu bölümde, iText kitaplığını kullanarak AreaBreak ile bir PDF belgesinin nasıl oluşturulacağını göreceğiz.
AreaBreak Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. Ardından, belgeye bir kırılma eklemek için,AreaBreak sınıf ve add bu nesneyi kullanarak belgelemek için add() yöntem.
Aşağıda, AreaBreak ile boş bir PDF belgesi oluşturmanın adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWriter sınıfı bir PDF için Belge Yazıcısını temsil eder, bu sınıf pakete aittir com.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi, bir PDF oluşturmanız gereken yolu temsil eden bir dize değerini yapıcısına ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingAreaBreak.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocument sınıf, iText'teki PDF Belgesini temsil eden sınıftır, bu sınıf pakete aittir com.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda) sınıfın bir nesnesini iletmeniz gerekirPdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıf tarafından sağlanan ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki, olay işleyicisi gibi çeşitli öğeleri ekleyebilirsiniz.
3. Adım: Belge nesnesi oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Alan Kırılma nesnesi oluşturma
AreaBreak sınıf pakete aittir com.itextpdf.layout.element. Bu sınıfın somutlaştırılmasında, geçerli bağlam alanı sonlandırılacak ve aynı boyutta yeni bir tane oluşturulacaktır (varsayılan kurucu kullanmamız durumunda).
Örnekleyin AreaBreak aşağıda gösterildiği gibi sınıf.
// Creating an Area Break
AreaBreak aB = new AreaBreak();
Adım 5: AreaBreak Ekleme
Ekle areabreak önceki adımda oluşturulan nesne add() Aşağıda gösterildiği gibi Document sınıfının yöntemi.
// Adding area break to the PDF
document.add(aB);
Adım 6: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document aşağıda gösterildiği gibi sınıf.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak AreaBreak ile bir PDF belgesinin nasıl oluşturulacağını gösterir. Adıyla bir PDF belgesi oluştururaddingAreaBreak.pdf, ekler areabreak ve onu yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddingAreaBreak.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.AreaBreak;
public class AddingAreaBreak {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/addingAreaBreak.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document by passing PdfDocument object to its constructor
Document document = new Document(pdf);
// Creating an Area Break
AreaBreak aB = new AreaBreak();
// Adding area break to the PDF
document.add(aB);
// Closing the document
document.close();
System.out.println("Pdf created");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingAreaBreak.java
java AddingAreaBreak
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Pdf Created
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona nasıl paragraf ekleneceğini göreceğiz.
Bir Paragraf Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. Ardından, belgeye bir paragraf eklemek için,Paragraph sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
İçinde paragraf bulunan bir PDF belgesi oluşturma adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWriterclass, bir PDF için Doc Writer'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingParagraph.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: PdfDocument Oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document sınıfını oluşturma
Document paketin sınıfı com.itextpdf.layoutkök öğedir. Kendi kendine yeten bir PDF oluştururken. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Sınıfın nesnesini ileterek Document sınıfının örneğini oluşturun PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Paragraf nesnesi oluşturma
Paragraphclass, bağımsız bir metinsel ve grafiksel bilgi bloğunu temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Paragraph metin içeriğini aşağıda gösterildiği gibi yapıcısına bir dize olarak ileterek sınıfını seçin.
String para = "Welcome to Tutorialspoint.";
// Creating an Area Break
Paragraph para = new Paragraph (para);
Adım 5: Paragraf Ekleme
Ekle Paragraph önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding area break to the PDF
document.add(para);
Adım 6: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona bir paragrafın nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingParagraph.pdf, ona bir paragraf ekler ve yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddingParagraph.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
public class AddingParagraph {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/addingParagraph.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
String para1 = "Tutorials Point originated from the idea that there exists
a class of readers who respond better to online content and prefer to learn
new skills at their own pace from the comforts of their drawing rooms.";
String para2 = "The journey commenced with a single tutorial on HTML in 2006
and elated by the response it generated, we worked our way to adding fresh
tutorials to our repository which now proudly flaunts a wealth of tutorials
and allied articles on topics ranging from programming languages to web designing
to academics and much more.";
// Creating Paragraphs
Paragraph paragraph1 = new Paragraph(para1);
Paragraph paragraph2 = new Paragraph(para2);
// Adding paragraphs to document
document.add(paragraph1);
document.add(paragraph2);
// Closing the document
document.close();
System.out.println("Paragraph added");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingParagraph.java
java AddingParagraph
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Paragraph added
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona bir listenin nasıl ekleneceğini göreceğiz.
Liste Oluşturmak
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak, yapıcısına. Ardından, belgeye bir liste eklemek için,List sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Aşağıda, bir PDF belgesi oluşturma ve içine bir Liste ekleme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingList.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocument sınıf, iText'teki PDF Belgesini temsil eden sınıftır, bu sınıf pakete aittir com.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: List nesnesi oluşturma
Listsınıfı dikey olarak ana hatları çizilmiş bir dizi nesneyi temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin List aşağıda gösterildiği gibi sınıf.
// Creating a list
List list = new List();
Adım 5: Listeye eleman ekleme
İçeriği ekleyin list kullanarak nesne add() yöntemi List Aşağıda gösterildiği gibi String değerlerini ileterek sınıfı.
// Add elements to the list
list.add("Java");
list.add("JavaFX");
list.add("Apache Tika");
list.add("OpenCV");
Adım 6: Belgeye Liste Ekleme
Ekle list önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding list to the document
document.add(list);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document aşağıda gösterildiği gibi sınıf.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona bir listenin nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingList.pdf, ona bir liste ekler ve yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddingList.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.List;
import com.itextpdf.layout.element.Paragraph;
public class AddingList {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/addngList.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a Paragraph
Paragraph paragraph = new Paragraph("Tutorials Point provides the following tutorials");
// Creating a list
List list = new List();
// Add elements to the list
list.add("Java");
list.add("JavaFX");
list.add("Apache Tika");
list.add("OpenCV");
list.add("WebGL");
list.add("Coffee Script");
list.add("Java RMI");
list.add("Apache Pig");
// Adding paragraph to the document
document.add(paragraph);
// Adding list to the document
document.add(list);
// Closing the document
document.close();
System.out.println("List added");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingList.java
java AddingList
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
List added
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona bir tablo ekleneceğini göreceğiz.
Pdf'ye Tablo Ekleme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentyapıcısına bir parametre olarak nesne. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Aşağıda, içinde Tablo bulunan bir PDF belgesi oluşturma adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Örnekleyin PdfWriter aşağıda gösterildiği gibi yapıcısına bir dize değeri (bir PDF oluşturmanız gereken yolu temsil eden) ileterek sınıfını seçin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingTable.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Table aşağıda gösterildiği gibi sınıf.
// Creating a table object
float [] pointColumnWidths = {150F, 150F, 150F};
Table table = new Table(pointColumnWidths);
Adım 5: Tabloya hücre ekleme
Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout.element. Kullanarak hücrenin içeriğini ekleyinadd() bu sınıfın yöntemi.
Son olarak, bu hücreyi tabloya eklemek için addCell() yöntemi Table sınıf ve geç cell aşağıda gösterildiği gibi, bu yönteme bir parametre olarak nesne.
// Adding cell 1 to the table
Cell cell1 = new Cell(); // Creating a cell
cell1.add("Name"); // Adding content to the cell
table.addCell(cell1); // Adding cell to the table
// Adding cell 2 to the table Cell
cell2 = new Cell(); // Creating a cell
cell2.add("Raju"); // Adding content to the cell
table.addCell(cell2); // Adding cell to the table
Adım 6: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document aşağıda gösterildiği gibi sınıf.
// Adding list to the document
document.add(table);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, bir PDF belgesinin nasıl oluşturulacağını ve iText kitaplığını kullanarak ona nasıl tablo ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingTable.pdf, ona bir tablo ekler ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin AddingTable.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Table;
public class AddingTable {
public static void main(String args[]) throws Exception {
// Creating a PdfDocument object
String dest = "C:/itextExamples/addingTable.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument object
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdf);
// Creating a table
float [] pointColumnWidths = {150F, 150F, 150F};
Table table = new Table(pointColumnWidths);
// Adding cells to the table
table.addCell(new Cell().add("Name"));
table.addCell(new Cell().add("Raju"));
table.addCell(new Cell().add("Id"));
table.addCell(new Cell().add("1001"));
table.addCell(new Cell().add("Designation"));
table.addCell(new Cell().add("Programmer"));
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Table created successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingTable.java
java AddingTable
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Table created successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, bir PDF belgesinin nasıl oluşturulacağını ve bir tablo ekleneceğini ve iText kitaplığını kullanarak tablodaki bir hücrenin içeriğini nasıl biçimlendireceğimizi göreceğiz.
Tablodaki Hücreleri Biçimlendirme
Boş bir PDF oluşturabilirsiniz DocumentDocument sınıfını örnekleyerek. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add()yöntem. Bir tablodaki bir hücrenin içeriğini, aşağıdaki yöntemlerle biçimlendirebilirsiniz:Cell sınıf.
Tablodaki bir hücrenin içeriğini biçimlendirme adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingBackground.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDFDocument'i temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument yukarıda oluşturulan sınıfı geçerek PdfWriter yapıcısına karşı aşağıda gösterildiği gibi.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Birkez PdfDocument nesne oluşturulursa, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Tablo sınıfını aşağıda gösterildiği gibi örnekleyin.
// Creating a table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
Adım 5: Hücrelerin oluşturulması
Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout.element. Kullanarak hücrenin içeriğini ekleyinadd() yöntemi Cell sınıf, aşağıda gösterildiği gibi.
// Adding cell 1 to the table
Cell cell1 = new Cell(); // Creating a cell
cell1.add("Name"); // Adding content to the cell
// Adding cell 2 to the table
Cell cell2 = new Cell(); // Creating a cell
cell2.add("Raju"); // Adding content to the cell
Adım 6: Hücreye Arka Plan Ekleme
Hücreyi oluşturup içeriğini ekledikten sonra, hücreyi biçimlendirebilirsiniz. Örneğin, hücre sınıfının farklı yöntemlerini kullanarak arka planını ayarlayabilir, hücrenin içindeki metni hizalayabilir, metin rengini vb. Değiştirebilirsiniz.setBackgroundColor(), setBorder(), setTextAlignment().
Arka plan rengini, kenarlığı ve metin hizalamasını önceki adımda oluşturulan hücreye aşağıda gösterildiği gibi ayarlayabilirsiniz.
c1.setBackgroundColor(Color.DARK_GRAY); // Setting background color to cell1
c1.setBorder(Border.NO_BORDER); // Setting border to cell1
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1
7. Adım: Tabloya hücre ekleme
Son olarak, bu hücreyi tabloya eklemek için addCell() yöntemi Table sınıf ve geç cell aşağıda gösterildiği gibi, bu yönteme bir parametre olarak nesne.
table.addCell(c1);
8. Adım: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document aşağıda gösterildiği gibi sınıf.
// Adding list to the document
document.add(table);
Adım 9: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir tablodaki bir hücrenin içeriğinin nasıl biçimlendirileceğini gösterir. Adıyla bir PDF belgesi oluştururaddingBackground.pdf, tablo ekler, hücrelerinin içeriğini biçimlendirir ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin BackgroundToTable.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.TextAlignment;
public class BackgroundToTable {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/addingBackground.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 table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
// Populating row 1 and adding it to the table
Cell c1 = new Cell(); // Creating cell 1
c1.add("Name"); // Adding name to cell 1
c1.setBackgroundColor(Color.DARK_GRAY); // Setting background color
c1.setBorder(Border.NO_BORDER); // Setting border
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment
table.addCell(c1); // Adding cell 1 to the table
Cell c2 = new
Cell();
c2.add("Raju");
c2.setBackgroundColor(Color.GRAY);
c2.setBorder(Border.NO_BORDER);
c2.setTextAlignment(TextAlignment.CENTER);
table.addCell(c2);
// Populating row 2 and adding it to the table
Cell c3 = new Cell();
c3.add("Id");
c3.setBackgroundColor(Color.WHITE);
c3.setBorder(Border.NO_BORDER);
c3.setTextAlignment(TextAlignment.CENTER);
table.addCell(c3);
Cell c4 = new Cell();
c4.add("001");
c4.setBackgroundColor(Color.WHITE);
c4.setBorder(Border.NO_BORDER);
c4.setTextAlignment(TextAlignment.CENTER);
table.addCell(c4);
// Populating row 3 and adding it to the table
Cell c5 = new Cell();
c5.add("Designation");
c5.setBackgroundColor(Color.DARK_GRAY);
c5.setBorder(Border.NO_BORDER);
c5.setTextAlignment(TextAlignment.CENTER);
table.addCell(c5);
Cell c6 = new Cell();
c6.add("Programmer");
c6.setBackgroundColor(Color.GRAY);
c6.setBorder(Border.NO_BORDER);
c6.setTextAlignment(TextAlignment.CENTER);
table.addCell(c6);
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Background added successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac BackgroundToTable.java
java BackgroundToTable
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Background added successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir tablodaki bir hücrenin kenarlıklarının nasıl biçimlendirileceğini göreceğiz.
Bir Hücrenin Kenarlıklarını Biçimlendirme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
Ardından, belgeye bir tablo eklemek için, Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Gibi çeşitli kenarlıklar ekleyebilirsiniz. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBordervb. kullanarak çeşitli renklerde setBorder() yöntemi Cell sınıf.
Tablodaki bir hücrenin kenarlıklarını biçimlendirme adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/coloredBorders.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDFDocument'i temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument yukarıda oluşturulan sınıfı geçerek PdfWriter yapıcısına karşı aşağıda gösterildiği gibi.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Table aşağıda gösterildiği gibi sınıf.
// Creating a table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
Adım 5: Hücrelerin oluşturulması
Örnekleyerek bir hücre nesnesi oluşturun Cell paketin sınıfı com.itextpdf.layout.element kullanarak hücrenin içeriğini ekleyin add() yöntemi Cell sınıf, aşağıda gösterildiği gibi.
// Adding cell 1 to the table
Cell cell1 = new Cell(); // Creating a cell
cell1.add("Name"); // Adding content to the cell
Adım 6: Hücrenin kenarlığını biçimlendirme
İText kitaplığı, sınırı temsil eden çeşitli sınıflar sağlar. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, vb.
Bu sınıfların kurucuları iki parametre kabul eder: a color kenarlığın rengini temsil eden nesne ve bir integer sınırın genişliğini temsil eder.
Bu sınır türlerinden birini seçin ve ilgili sınırı geçerek color nesne ve bir integer aşağıda gösterildiği gibi genişliği temsil eder.
Border b1 = new DashedBorder(Color.RED, 3);
Şimdi, hücrenin kenarlığını ayarlayın. setBorder() yöntemi cellsınıf. Bu yöntem, türündeki bir nesneyi kabul ederBorder parametre olarak.
Yukarıda oluşturulmuş olanı geçirerek hücrenin kenarlığını ayarlayın Border bir parametre olarak nesne setBorder() yöntemi aşağıda gösterildiği gibi.
c1.setBorder(b1)
Son olarak, bu hücreyi tabloya eklemek için addCell() yöntemi Table sınıf ve geç cell aşağıda gösterildiği gibi, bu yönteme bir parametre olarak nesne.
table.addCell(c1);
7. Adım: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding list to the document
document.add(table);
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir tablodaki bir hücrenin kenarlığının nasıl biçimlendirileceğini gösterir. Adıyla bir PDF belgesi oluştururcoloredBorders.pdf, tablo ekler, hücrelerinin içeriğini biçimlendirir ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin FormatedBorders.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border;
import com.itextpdf.layout.border.DashedBorder;
import com.itextpdf.layout.border.DottedBorder;
import com.itextpdf.layout.border.DoubleBorder;
import com.itextpdf.layout.border.RoundDotsBorder;
import com.itextpdf.layout.border.SolidBorder;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.TextAlignment;
public class FormatedBorders {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/coloredBorders.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 table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
// Adding row 1 to the table
Cell c1 = new Cell();
// Adding the contents of the cell
c1.add("Name");
// Setting the back ground color of the cell
c1.setBackgroundColor(Color.DARK_GRAY);
// Instantiating the Border class
Border b1 = new DashedBorder(Color.RED, 3);
// Setting the border of the cell
c1.setBorder(b1);
// Setting the text alignment
c1.setTextAlignment(TextAlignment.CENTER);
// Adding the cell to the table
table.addCell(c1);
Cell c2 = new Cell();
c2.add("Raju");
c1.setBorder(new SolidBorder(Color.RED, 3));
c2.setTextAlignment(TextAlignment.CENTER);
table.addCell(c2);
// Adding row 2 to the table
Cell c3 = new Cell();
c3.add("Id");
c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3));
c3.setTextAlignment(TextAlignment.CENTER);
table.addCell(c3);
Cell c4 = new Cell();
c4.add("001");
c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3));
c4.setTextAlignment(TextAlignment.CENTER);
table.addCell(c4);
// Adding row 3 to the table
Cell c5 = new Cell();
c5.add("Designation");
c5.setBorder(new RoundDotsBorder(Color.RED, 3));
c5.setTextAlignment(TextAlignment.CENTER);
table.addCell(c5);
Cell c6 = new Cell();
c6.add("Programmer");
c6.setBorder(new RoundDotsBorder(Color.RED, 3));
c6.setTextAlignment(TextAlignment.CENTER);
table.addCell(c6);
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Borders added successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac FormatedBorders.java
java FormatedBorders
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Borders added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir tabloya nasıl resim ekleneceğini göreceğiz.
Tabloya Görüntü Ekleme
Örneğini oluşturarak boş bir PDF belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Bu tabloya bir görüntü eklemek için, Cell sınıf, oluşturma ve eklenmesi gereken görüntünün bir nesnesi, görüntüyü cell kullanarak nesne add() yöntemi Cell sınıf.
Bir tablonun hücresine bir resim eklemek için adımlar aşağıda verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWriter sınıfı bir PDF için Belge Yazıcısını temsil eder, bu sınıf pakete aittir com.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi, bir PDF oluşturmanız gereken yolu temsil eden bir dize değerini yapıcısına ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingImage.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek sınıfı.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Table aşağıda gösterildiği gibi sınıf.
// Creating a table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
Adım 5: Hücreyi oluşturma
Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout, Aşağıda gösterildiği gibi.
// Adding cell to the table
Cell cell = new Cell(); // Creating a cell
Adım 6: Bir Görüntü Oluşturma
Oluşturmak için image nesne, her şeyden önce, bir ImageData kullanarak nesne create() yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme yaparken, geçImageData Aşağıda gösterildiği gibi, oluşturucusuna bir parametre olarak yukarıda oluşturulan nesne.
// Creating an Image object
Image img = new Image(data);
Ekle image kullanarak hücreye nesne add() aşağıda gösterildiği gibi hücre sınıfının yöntemi.
// Adding image to the cell
cell.add(img.setAutoScale(true));
7. Adım: Tabloya hücre ekleme
Son olarak, bu hücreyi tabloya eklemek için addCell() yöntemi Table sınıf ve geç cell aşağıda gösterildiği gibi, bu yönteme bir parametre olarak nesne.
table.addCell(cell);
8. Adım: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding list to the document
document.add(table);
Adım 9: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesindeki bir tablonun hücresine nasıl görüntü ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingImage.pdf, ona bir tablo ekler, hücrelerinden birine bir resim (javafxLogo.jpg) ekler ve yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddingImageToTable.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Image;
import com.itextpdf.layout.element.Table;
public class a3AddingImageToTable {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/addingImage.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 table
float [] pointColumnWidths = {150f, 150f};
Table table = new Table(pointColumnWidths);
// Populating row 1 and adding it to the table
Cell cell1 = new Cell();
cell1.add("Tutorial ID");
table.addCell(cell1);
Cell cell2 = new Cell();
cell2.add("1");
table.addCell(cell2);
// Populating row 2 and adding it to the table
Cell cell3 = new Cell();
cell3.add("Tutorial Title");
table.addCell(cell3);
Cell cell4 = new Cell();
cell4.add("JavaFX");
table.addCell(cell4);
// Populating row 3 and adding it to the table
Cell cell5 = new Cell();
cell5.add("Tutorial Author");
table.addCell(cell5);
Cell cell6 = new Cell();
cell6.add("Krishna Kasyap");
table.addCell(cell6);
// Populating row 4 and adding it to the table
Cell cell7 = new Cell();
cell7.add("Submission date");
table.addCell(cell7);
Cell cell8 = new Cell();
cell8.add("2016-07-06");
table.addCell(cell8);
// Populating row 5 and adding it to the table
Cell cell9 = new Cell();
cell9.add("Tutorial Icon");
table.addCell(cell9);
// Creating the cell10
Cell cell10 = new Cell();
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
// Creating the image
Image img = new Image(data);
// Adding image to the cell10
cell10.add(img.setAutoScale(true));
// Adding cell110 to the table
table.addCell(cell10);
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Image added to table successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingImageToTable.java
java AddingImageToTable
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image added to table successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir tabloya yuvalanmış bir tablonun nasıl ekleneceğini göreceğiz.
Bir PDF'ye İç İçe Tablo Ekleme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Bu tabloya bir tablo eklemek için başka bir tablo (iç içe geçmiş tablo) oluşturmanız ve bunu kullanarak hücre nesnesine iletmeniz gerekir. add() yöntemi Cell sınıf.
Bir tablonun hücresine bir tablo eklemek için adımlar aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingNestedTable.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir. PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Table aşağıda gösterildiği gibi sınıf.
// Creating a table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
Adım 5: Hücreyi oluşturma
Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout, Aşağıda gösterildiği gibi.
// Adding cell to the table
Cell contact = new Cell(); // Creating a cell
Adım 6: İç içe geçmiş tablo oluşturma
Oluşturduktan sonra cell, iç içe geçmiş bir tablo oluşturun ve hücrelerini aşağıda gösterildiği gibi doldurun.
// Creating nested table for contact
float [] pointColumnWidths2 = {150f, 150f};
Table nestedTable = new Table(pointColumnWidths2);
// Populating row 1 and adding it to the nested table
Cell nested1 = new Cell();
nested1.add("Phone");
nestedTable.addCell(nested1);
Cell nested2 = new Cell();
nested2.add("9848022338");
nestedTable.addCell(nested2);
// Populating row 2 and adding it to the nested table
Cell nested3 = new Cell();
nested3.add("email");
nestedTable.addCell(nested3);
Cell nested4 = new Cell();
nested4.add("[email protected]");
nestedTable.addCell(nested4);
// Populating row 3 and adding it to the nested table
Cell nested5 = new Cell();
nested5.add("Address");
nestedTable.addCell(nested5);
Cell nested6 = new Cell();
nested6.add("Hyderabad");
nestedTable.addCell(nested6);
7. Adım: Hücreye iç içe tablo ekleme
Şimdi, yukarıda oluşturulan iç içe tabloyu kullanarak üst (kapsayıcı) tablonun hücresine ekleyin. add() yöntemi Cellsınıf. Ve bu hücreyi ana tabloya ekleyin.addCell() yöntemi Table sınıf, aşağıda gösterildiği gibi.
contact.add(nestedTable);
table.addCell(contact);
8. Adım: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding list to the document
document.add(table);
Adım 9: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesindeki bir tablonun hücresine (iç içe geçmiş tablo) nasıl tablo ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingNestedTable.pdf, ona bir tablo ekler, hücrelerinden birine başka bir tablo ekler ve onu yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddNestedTable.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.Table;
public class a4AddNestedTablesPdf {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/addingNestedTable.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 table
float [] pointColumnWidths1 = {150f, 150f};
Table table = new Table(pointColumnWidths1);
// Populating row 1 and adding it to the table
Cell cell1 = new Cell();
cell1.add("Name");
table.addCell(cell1);
Cell cell2 = new Cell();
cell2.add("Raju");
table.addCell(cell2);
// Populating row 2 and adding it to the table
Cell cell3 = new Cell();
cell3.add("Id");
table.addCell(cell3);
Cell cell4 = new Cell();
cell4.add("1001");
table.addCell(cell4);
// Populating row 3 and adding it to the table
Cell cell5 = new Cell();
cell5.add("Designation");
table.addCell(cell5);
Cell cell6 = new Cell();
cell6.add("Programmer");
table.addCell(cell6);
// Creating nested table for contact
float [] pointColumnWidths2 = {150f, 150f};
Table nestedTable = new Table(pointColumnWidths2);
// Populating row 1 and adding it to the nested table
Cell nested1 = new Cell();
nested1.add("Phone");
nestedTable.addCell(nested1);
Cell nested2 = new Cell();
nested2.add("9848022338");
nestedTable.addCell(nested2);
// Populating row 2 and adding it to the nested table
Cell nested3 = new Cell();
nested3.add("email");
nestedTable.addCell(nested3);
Cell nested4 = new Cell();
nested4.add("[email protected]");
nestedTable.addCell(nested4);
// Populating row 3 and adding it to the nested table
Cell nested5 = new Cell();
nested5.add("Address");
nestedTable.addCell(nested5);
Cell nested6 = new Cell();
nested6.add("Hyderabad");
nestedTable.addCell(nested6);
// Adding table to the cell
Cell cell7 = new Cell();
cell7.add("Contact");
table.addCell(cell7);
Cell cell8 = new Cell();
cell8.add(nestedTable);
table.addCell(cell8);
// Adding table to the document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Nested Table Added successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddNestedTable.java
java AddNestedTable
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Nested Table Added successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir tabloya nasıl liste ekleneceğini göreceğiz.
PDF'deki Tabloya Liste Ekleme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentyapıcısına bir parametre olarak nesne. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.
Eklemek için list tabloya, somutlaştırmanız gerekir List sınıfı com.itextpdf.layout.element paketleyin ve içine yerleştirin cell kullanarak nesne add() yöntemi Cell sınıf.
Bir tablonun hücresine liste ekleme adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWriterclass, bir PDF için Doc Writer'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (bir PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin
// Creating a PdfWriter
String dest = "C:/itextExamples/addingObjects.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf c paketine aittirom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek sınıfı.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir Tablo nesnesi oluşturma
Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.
Örnekleyin Table aşağıda gösterildiği gibi sınıf.
// Creating a table
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);
Adım 5: Hücreyi oluşturma
Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout, Aşağıda gösterildiği gibi.
// Adding cell to the table
Cell listCell = new Cell(); // Creating a cell
Adım 6: Liste nesnesi oluşturma
Hücreyi oluşturduktan sonra bir list nesneyi örnekleyerek List paketin sınıfı com.itextpdf.layout.element. Liste öğelerini,ListItem sınıfına girin ve oluşturulan öğeleri ekleyin add() yöntemi List sınıf, aşağıda gösterildiği gibi.
List list = new List();
ListItem item1 = new ListItem("JavaFX");
ListItem item2 = new ListItem("Java");
ListItem item3 = new ListItem("Java Servlets");
list.add(item1);
list.add(item2);
list.add(item3);
Adım 7: Bir tablonun hücresine liste ekleme
Şimdi, yukarıda oluşturulan listeyi tablonun hücresine ekleyin. add()Cell sınıfının yöntemi. Ve bu hücreyi tabloya ekleyin.addCell() yöntemi Table sınıf, aşağıda gösterildiği gibi.
listCell.add(list);
table.addCell(listCell);
8. Adım: Belgeye tablo ekleme
Ekle table önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding list to the document
document.add(table);
Adım 9: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesindeki bir tablonun hücresine bir listenin nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingObjects.pdf, tablo ekler, hücrelerinden birine bir liste ekler ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin AddingListsToTable.java.
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.List;
import com.itextpdf.layout.element.ListItem;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.TextAlignment;
public class AddingListsToTable {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String file = "C:/itextExamples/addingObjects.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating a table
float [] pointColumnWidths = {300F, 300F};
Table table = new Table(pointColumnWidths);
// Adding row 1 to the table
Cell c1 = new Cell();
c1.add("Java Related Tutorials");
c1.setTextAlignment(TextAlignment.LEFT);
table.addCell(c1);
List list1 = new List();
ListItem item1 = new ListItem("JavaFX");
ListItem item2 = new ListItem("Java");
ListItem item3 = new ListItem("Java Servlets");
list1.add(item1);
list1.add(item2);
list1.add(item3);
Cell c2 = new Cell();
c2.add(list1);
c2.setTextAlignment(TextAlignment.LEFT);
table.addCell(c2);
// Adding row 2 to the table
Cell c3 = new Cell();
c3.add("No SQL Databases");
c3.setTextAlignment(TextAlignment.LEFT);
table.addCell(c3);
List list2 = new List();
list2.add(new ListItem("HBase"));
list2.add(new ListItem("Neo4j"));
list2.add(new ListItem("MongoDB"));
Cell c4 = new Cell();
c4.add(list2);
c4.setTextAlignment(TextAlignment.LEFT);
table.addCell(c4);
// Adding Table to document
doc.add(table);
// Closing the document
doc.close();
System.out.println("Lists added to table successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingListsToTable.java
java AddingListsToTable
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Lists added to table successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl görüntü ekleneceğini göreceğiz.
Pdf'e Görüntü Ekleme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak yapıcısına. PDF'ye görüntü eklemek için, görüntünün eklenmesi gereken bir nesnesini oluşturun ve bunu kullanarak ekleyin.add() yöntemi Document sınıf.
Aşağıda, PDF belgesine bir görüntü ekleme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/addingImage.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document Document
document = new Document(pdfDoc);
4. Adım: Bir Görüntü nesnesi oluşturma
Oluşturmak için image nesne, her şeyden önce, bir ImageData kullanarak nesne create() yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme sırasında, yukarıda oluşturulanImageData nesnesi, aşağıda gösterildiği gibi yapıcısına bir parametre olarak.
// Creating an Image object
Image img = new Image(data);
Adım 5: Belgeye resim ekleme
Önceki adımda oluşturulan görüntü nesnesini, add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding image to the document
document.add(img);
Adım 6: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı iText kitaplığını kullanarak bir PDF belgesine nasıl görüntü ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingImage.pdf, ona bir resim ekler ve onu yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin AddingImage.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class AddingImage {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/addingImage.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating an ImageData object
String imFile = "C:/itextExamples/logo.jpg";
ImageData data = ImageDataFactory.create(imFile);
// Creating an Image object
Image image = new Image(data);
// Adding image to the document
document.add(image);
// Closing the document
document.close();
System.out.println("Image added");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac AddingImage.java
java AddingImage
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image added
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir görüntünün konumunu nasıl ayarlayacağımızı göreceğiz.
Görüntünün Konumunu Ayarlama
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF'ye bir görüntü eklemek için, görüntünün eklenmesi gereken bir nesnesini oluşturun ve bunu kullanarak ekleyin. add() yöntemi Documentsınıf. Yöntemi kullanarak görüntüyü belge üzerinde istediğiniz bir konuma ekleyebilirsiniz.setFixedPosition() of Image sınıf.
PDF belgesindeki bir görüntünün konumunu ayarlamak için adımlar aşağıda verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/positionOfImage.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını somutlaştırın.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Bir Görüntü nesnesi oluşturma
Görüntü nesnesini oluşturmak için her şeyden önce bir ImageData kullanarak nesne create() yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme yaparken, geçImageData nesnesi, aşağıda gösterildiği gibi yapıcısına bir parametre olarak.
// Creating an Image object
Image img = new Image(data);
Adım 5: Görüntünün konumunu ayarlama
Bir PDF belgesindeki görüntünün konumunu, setFixedPosition()Görüntünün yöntemi. Aşağıda gösterildiği gibi, bu yöntemi kullanarak görüntünün konumunu belgedeki koordinatlara (100, 250) ayarlayın.
// Setting the position of the image to the center of the page
image.setFixedPosition(100, 250);
6. Adım: Belgeye resim ekleme
Şimdi, önceki adımda oluşturulan görüntü nesnesini, add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding image to the document
document.add(img);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir görüntünün bir PDF belgesinde istenen bir konuma nasıl ayarlanacağını gösterir. Adıyla bir PDF belgesi oluştururpositionOfImage.pdf, ona bir resim ekler, onu sayfanın ortasına yaklaştırır ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin SettingPosition.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class SettingPosition {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/EXAMPLES/itextExamples/3images/positionOfImage.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdfDoc);
// Creating an ImageData object
String imFile = "C:/EXAMPLES/itextExamples/3images/logo.jpg";
ImageData data = ImageDataFactory.create(imFile);
// Creating an Image object
Image image = new Image(data);
// Setting the position of the image to the center of the page
image.setFixedPosition(100, 250);
// Adding image to the document
document.add(image);
// Closing the document
document.close();
System.out.println("Image added");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac SettingPosition.java
java SettingPosition
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image added
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir görüntünün nasıl ölçekleneceğini göreceğiz.
Bir Görüntüyü PDF Olarak Ölçeklendirme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF'ye görüntü eklemek için, görüntünün eklenmesi gereken bir nesnesini oluşturun ve bunu kullanarak ekleyin. add() yöntemi Documentsınıf. Kullanarak bir görüntüyü ölçekleyebilirsiniz.setAutoScale() yöntem.
Aşağıda, PDF belgesinde bulunan bir görüntüyü ölçekleme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/autoScale.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek sınıfı.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Bir Görüntü nesnesi oluşturma
Bir görüntü nesnesi oluşturmak için, her şeyden önce bir ImageData kullanarak nesne create() yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme yaparken, geçImageData nesnesi, aşağıda gösterildiği gibi yapıcısına bir parametre olarak.
// Creating an Image object
Image img = new Image(data);
5. Adım: Bir görüntüyü ölçekleme
Kullanarak bir görüntüyü ölçekleyebilirsiniz. setAutoScale() yöntem.
// Setting the position of the image to the center of the page
image.setFixedPosition(100, 250);
6. Adım: Belgeye resim ekleme
Şimdi ekleyin image önceki adımda oluşturulan nesne add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding image to the document
document.add(img);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesindeki belge boyutuna göre bir görüntünün nasıl ölçekleneceğini gösterir. Adıyla bir PDF belgesi oluştururautoScale.pdf, ona bir görüntü ekler, sayfa boyutlarına göre ölçeklendirir, yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin SettingAutoScale.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class SettingAutoScale {
public static void main(String args[]) throws Exception{
// Creating a PdfWriter
String dest = "C:/itextExamples/positionOfImage.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdfDoc);
// Creating an ImageData object
String imFile = "C:/itextExamples/logo.jpg";
ImageData data = ImageDataFactory.create(imFile);
// Creating an Image object
Image image = new Image(data);
// Setting the position of the image to the center of the page
image.setFixedPosition(100,250);
// Adding image to the document
document.add(image);
// Closing the document
document.close();
System.out.println("Image Scaled");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac SettingAutoScale.java
java SettingAutoScale
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image Scaled
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, bir PDF belgesine nasıl görüntü ekleneceğini ve iText kitaplığında bulunan işlevleri kullanarak bu görüntünün nasıl döndürüleceğini göreceğiz.
PDF'deki Bir Görüntüyü Döndürme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF'ye görüntü eklemek için, görüntünün eklenmesi gereken bir nesnesini oluşturun ve bunu kullanarak ekleyin. add() yöntemi Documentsınıf. Kullanarak bir görüntüyü döndürebilirsiniz.setRotationAngle() yöntem.
Aşağıda, bir PDF belgesindeki bir görüntüyü döndürme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/rotatingImage.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Bir Görüntü nesnesi oluşturma
Bir görüntü nesnesi oluşturmak için, her şeyden önce bir ImageData kullanarak nesne create()yöntemi ImageDataFactorysınıf. Bu yöntemin bir parametresi olarak, aşağıda gösterildiği gibi görüntünün yolunu temsil eden bir dize parametresi iletin.
// Creating an ImageData object
String imageFile = "C:/itextExamples/javafxLogo.jpg";
ImageData data = ImageDataFactory.create(imageFile);
Şimdi, somutlaştırın Image sınıfı com.itextpdf.layout.elementpaketi. Örnekleme yaparken, geçImageData object, aşağıda gösterildiği gibi yapıcısına bir parametre olarak.
// Creating an Image object
Image img = new Image(data);
Adım 5: Bir resmi döndürme
Kullanarak bir görüntüyü döndürebilirsiniz. setRotationAngle()yöntem. Bu yöntem için, görüntüyü döndürmek istediğiniz döndürme açısını temsil eden bir tamsayı geçirmeniz gerekir.
// Rotating the image
image.setRotationAngle(45);
6. Adım: Belgeye resim ekleme
Şimdi, önceki adımda oluşturulan görüntü nesnesini, add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding image to the document
document.add(img);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesinde bir görüntünün belirli bir açıyla nasıl döndürüleceğini gösterir.
Adıyla bir PDF belgesi oluşturur rotatingImage.pdf, ona bir resim ekler, döndürür ve yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin RotatingImage.java.
import com.itextpdf.io.image.ImageData;
import com.itextpdf.io.image.ImageDataFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Image;
public class RotatingImage {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/rotatingImage.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdfDoc);
// Creating an ImageData object
String imFile = "C:/itextExamples/logo.jpg";
ImageData data = ImageDataFactory.create(imFile);
// Creating an Image object
Image image = new Image(data);
// Rotating the image
image.setRotationAngle(45);
// Adding image to the document
document.add(image);
// Closing the document
document.close();
System.out.println("Image rotated");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac RotatingImage.java
java RotatingImage
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Image Rotated
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl metin açıklama ekleneceğini göreceğiz.
Bir PDF'de Metin Açıklama Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF belgenizde metin ek açıklamasını kullanmak için bir nesne oluşturmanız gerekir. PdfTextAnnotation sınıf ve bunu ekleyin PdfPage.
Aşağıda, PDF belgesinde metin açıklamasını kullanma adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/textAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Örnekleyin PdfDocument sınıfı geçerek PdfWriter yapıcısına karşı aşağıda gösterildiği gibi.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: PdfAnnotation nesnesi oluşturma
PdfAnnotation paketin sınıfı com.itextpdf.kernel.pdf.annot tüm ek açıklamaların üst sınıfını temsil eder.
Türetilmiş sınıfları arasında, PdfTextAnnotationsınıf, metin ek açıklamasını temsil eder. Aşağıda gösterildiği gibi bu sınıfın bir nesnesini oluşturun.
// Creating PdfAnnotation
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation ann = new PdfTextAnnotation(rect);
Adım 5: Ek açıklamanın rengini ayarlama
Ek açıklamaya renk ayarlayın. setColor() yöntemi PdfAnnotationsınıf. Bu yönteme geçmek içincolor ek açıklamanın rengini bir parametre olarak temsil eden nesne.
// Setting color to the annotation
ann.setColor(Color.GREEN);
Adım 6: Ek açıklamanın başlığını ve içeriğini ayarlama
Ek açıklamanın başlığını ve içeriğini ayarlayın. setTitle() ve setContents() yöntemleri PdfAnnotation aşağıda gösterildiği gibi sırasıyla sınıf.
// Setting title to the annotation
ann.setTitle(new PdfString("Hello"));
// Setting contents of the annotation
ann.setContents("Hi welcome to Tutorialspoint.");
7. Adım: Ek açıklamayı bir sayfaya ekleme
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() PdfDocument sınıfının yöntemini kullanın ve yukarıdaki açıklamayı kullanarak addAnnotation() yöntemi PdfPage sınıf, aşağıda gösterildiği gibi.
// Creating a new page PdfPage page =
pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(ann);
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesine nasıl metin açıklama ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururtextAnnotation.pdf, ona bir metin ek açıklaması ekler ve bunu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin TextAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfTextAnnotation;
import com.itextpdf.layout.Document;
public class TextAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/textAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating PdfTextAnnotation object
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation ann = new PdfTextAnnotation(rect);
// Setting color to the annotation
ann.setColor(Color.GREEN);
// Setting title to the annotation
ann.setTitle(new PdfString("Hello"));
// Setting contents of the annotation
ann.setContents("Hi welcome to Tutorialspoint.");
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(ann);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün.
javac TextAnnotation.java
java TextAnnotation
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Annotation added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine bağlantı ek açıklamasının nasıl ekleneceğini göreceğiz.
Bir PDF'de Bağ Ek Açıklaması Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF belgenizde metin açıklamasını kullanmak için, PdfTextAnnotation sınıfının bir nesnesini oluşturmanız ve bunu PdfPage'e eklemeniz gerekir.
Bir PDF belgesinde metin ek açıklamasını kullanma adımları aşağıdadır.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Örnekleyin PdfWriter aşağıda gösterildiği gibi yapıcısına bir dize değeri (bir PDF oluşturmanız gereken yolu temsil eden) ileterek sınıfını seçin.
// Creating a PdfWriter
String dest = "C:/itextExamples/linkAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
PdfDocument sınıfını, PdfWriter yapıcısına karşı aşağıda gösterildiği gibi.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Örnekleyin Document Önceki adımlarda oluşturulan PdfDocument sınıfının nesnesini aşağıda gösterildiği gibi ileterek sınıfı.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: PdfAnnotation nesnesi oluşturma
PdfAnnotation paketin sınıfı com.itextpdf.kernel.pdf.annot tüm ek açıklamaların üst sınıfını temsil eder.
Türetilmiş sınıfları arasında, PdfLinkAnnotationsınıf, bağlantı ek açıklamasını temsil eder. Aşağıda gösterildiği gibi bu sınıfın bir nesnesini oluşturun.
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
Adım 5: Ek açıklamanın eylemini ayarlama
Ek açıklamaya eylemi ayarlayın. setAction() yöntemi PdfLinkAnnotation sınıf, aşağıda gösterildiği gibi.
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/");
annotation.setAction(action);
6. Adım: Bir bağlantı oluşturma
Örneğini oluşturarak bir bağlantı oluşturun Link paketin sınıfı com.itextpdf.layout.element, Aşağıda gösterildiği gibi.
// Creating a link
Link link = new Link("Click here", annotation);
7. Adım: Bir paragrafa bağlantı ek açıklamasını ekleme
Örnekleyerek yeni bir paragraf oluşturun Paragraph sınıfını seçin ve önceki adımda oluşturulan bağlantıyı kullanarak add() Bu sınıfın yöntemi aşağıda gösterildiği gibi.
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
8. Adım: Belgeye paragraf ekleme
Paragrafı belgeye ekleyin. add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Adding paragraph to document
document.add(paragraph);
Adım 9: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesine bağlantı açıklamasının nasıl ekleneceğini gösterir.
Adıyla bir PDF belgesi oluşturur linkAnnotation.pdf, ona bir bağlantı ek açıklaması ekler ve bunu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin LinkAnnotation.java.
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.action.PdfAction;
import com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Link;
import com.itextpdf.layout.element.Paragraph;
public class LinkAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/linkAnnotation.pdf";
PdfWriter writer = new
PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a PdfLinkAnnotation object
Rectangle rect = new Rectangle(0, 0);
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);
// Setting action of the annotation
PdfAction action = PdfAction.createURI("http:// www.tutorialspoint.com/");
annotation.setAction(action);
// Creating a link
Link link = new Link("Click here", annotation);
// Creating a paragraph
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");
// Adding link to paragraph
paragraph.add(link.setUnderline());
// Adding paragraph to document
document.add(paragraph);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac LinkAnnotation.java
java LinkAnnotation
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Annotation added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl satır ek açıklaması ekleneceğini göreceğiz.
Pdf'de Satır Ek Açıklaması Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument nesneyi bir parametre olarak yapıcısına.
PDF belgenizde metin ek açıklamasını kullanmak için bir nesne oluşturmanız gerekir. PdfTextAnnotation sınıf ve bunu ekleyin PdfPage.
Aşağıda, PDF belgesinde metin açıklamasını kullanma adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi, bir PDF oluşturmanız gereken yolu temsil eden bir dize değerini yapıcısına ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/lineAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDFDocument'i temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki, olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Sınıfın nesnesini ileterek Document sınıfının örneğini oluşturun PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: PdfAnnotation nesnesi oluşturma
PdfAnnotation paketin sınıfı com.itextpdf.kernel.pdf.annot temsil eder, tüm ek açıklamaların üst sınıfıdır.
Türetilmiş sınıfları arasında, PdfLineAnnotationsınıf, satır açıklamasını temsil eder. Aşağıda gösterildiği gibi bu sınıfın bir nesnesini oluşturun.
// Creating PdfAnnotation
Rectangle rect = new Rectangle(20, 800, 0, 0);
PdfAnnotation annotation = new PdfLineAnnotation(rect);
Adım 5: Ek açıklamanın rengini ayarlama
Ek açıklamaya renk ayarlayın. setColor() yöntemi PdfAnnotationsınıf. Bu yönteme, ek açıklamanın rengini temsil eden renk nesnesini bir parametre olarak iletin.
// Setting color to the annotation
annotation.setColor(Color.BLUE);
Adım 6: Ek açıklamanın başlığını ve içeriğini ayarlama
Ek açıklamanın başlığını ve içeriğini ayarlayın. setTitle() ve setContents() yöntemleri PdfAnnotation aşağıda gösterildiği gibi sırasıyla sınıf.
// Setting title to the PdfLineAnnotation
annotation.setTitle(new PdfString("iText"));
// Setting contents of the PdfLineAnnotation
annotation.setContents("Hi welcome to Tutorialspoint");
7. Adım: Ek açıklamayı bir sayfaya ekleme
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocument sınıfına girin ve aşağıda gösterildiği gibi PdfPage sınıfının addAnnotation () yöntemini kullanarak yukarıda oluşturulan açıklamayı ekleyin.
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(annotation);
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesine satır ek açıklamasının nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururlineAnnotation.pdf, ona bir satır ek açıklaması ekler ve bunu yola kaydeder C:/itextExamples/.
Bu kodu adıyla bir dosyaya kaydedin LineAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfLineAnnotation;
import com.itextpdf.layout.Document;
public class LineAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/lineAnnotations.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document
Document document = new Document(pdf);
// Creating a PdfPage
PdfPage page = pdf.addNewPage();
// creating PdfLineAnnotation object
Rectangle rect = new Rectangle(0, 0);
float[] floatArray = new float[]{
20, 790, page.getPageSize().getWidth() - 20, 790
};
PdfAnnotation annotation = new PdfLineAnnotation(rect, floatArray);
// Setting color of the PdfLineAnnotation
annotation.setColor(Color.BLUE);
// Setting title to the PdfLineAnnotation
annotation.setTitle(new PdfString("iText"));
// Setting contents of the PdfLineAnnotation
annotation.setContents("Hi welcome to Tutorialspoint");
// Adding annotation to the page
page.addAnnotation(annotation);
// Closing the document
document.close();
System.out.println("Annotation added successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak komut isteminden derleyin ve yürütün -
javac LineAnnotation.java
java LineAnnotation
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Annotation added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine metin biçimlendirme ek açıklamasının nasıl ekleneceğini göreceğiz.
PDF'de Biçimlendirme Ek Açıklamasının Oluşturulması
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentyapıcısına bir parametre olarak nesne. PDF belgenizde metin ek açıklamasını kullanmak için bir nesne oluşturmanız gerekir.PdfTextAnnotation sınıf ve bunu ekleyin PdfPage.
Aşağıda, PDF belgesinde metin açıklamasını kullanma adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/markupAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri sınıfın bir nesnesini kabul ederPdfDocument.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: PdfAnnotation nesnesi oluşturma
PdfAnnotation paketin sınıfı com.itextpdf.kernel.pdf.annot tüm ek açıklamaların üst sınıfını temsil eder.
Türetilmiş sınıfları arasında, PdfTextMarkupAnnotationclass, metin biçimlendirme ek açıklamasını temsil eder. Aşağıda gösterildiği gibi bu sınıfın bir nesnesini oluşturun.
// Creating a PdfTextMarkupAnnotation object
Rectangle rect = new Rectangle(105, 790, 64, 10);
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation = PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
Adım 5: Ek açıklamanın rengini ayarlama
Ek açıklamaya renk ayarlayın. setColor() yöntemi PdfAnnotationsınıf. Bu yönteme, temsil eden renk nesnesini iletin.color ek açıklamanın bir parametre olarak.
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
Adım 6: Ek açıklamanın başlığını ve içeriğini ayarlama
Ek açıklamanın başlığını ve içeriğini ayarlayın. setTitle() ve setContents() yöntemleri PdfAnnotation sırasıyla sınıf.
// Setting title to the annotation
annotation.setTitle(new PdfString("Hello!"));
// Setting contents to the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
7. Adım: Ek açıklamayı bir sayfaya ekleme
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocument sınıfını seçin ve yukarıda oluşturulan notu kullanarak addAnnotation() PdfPage sınıfının yöntemi aşağıda gösterildiği gibi.
// Creating a new Pdfpage
PdfPage pdfPage = pdfDoc.addNewPage();
// Adding annotation to a page in a PDF
pdfPage.addAnnotation(annotation);
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesine metin biçimlendirme ek açıklamasının nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururmarkupAnnotation.pdf, ona bir metin biçimlendirme ek açıklaması ekler ve bunu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin MarkupAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfTextMarkupAnnotation;
import com.itextpdf.layout.Document;
public class MarkupAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfDocument object
String file = "C:/itextExamples/markupAnnotation.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));
// Creating a Document object
Document doc = new Document(pdfDoc);
// Creating a PdfTextMarkupAnnotation object
Rectangle rect = new Rectangle(105, 790, 64, 10);
float[] floatArray = new float[]{169, 790, 105, 790, 169, 800, 105, 800};
PdfAnnotation annotation =
PdfTextMarkupAnnotation.createHighLight(rect,floatArray);
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
// Setting title to the annotation
annotation.setTitle(new PdfString("Hello!"));
// Setting contents to the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
// Creating a new Pdfpage
PdfPage pdfPage = pdfDoc.addNewPage();
// Adding annotation to a page in a PDF
pdfPage.addAnnotation(annotation);
// Closing the document
doc.close();
System.out.println("Annotation added successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac MarkupAnnotation.java
java MarkupAnnotation
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Annotation added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine daire açıklamasının nasıl ekleneceğini göreceğiz.
PDF'de Daire Açıklama Oluşturma
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
PDF belgenizde metin ek açıklamasını kullanmak için, PdfTextAnnotation sınıfının bir nesnesini oluşturmanız ve bunu Pdfpage.
Aşağıda, PDF belgesinde metin açıklamasını kullanma adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Örnekleyin PdfWriter aşağıda gösterildiği gibi yapıcısına bir dize değeri (bir PDF oluşturmanız gereken yolu temsil eden) ileterek sınıfını seçin.
// Creating a PdfWriter
String dest = "C:/itextExamples/circleAnnotation.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: PdfAnnotation nesnesi oluşturma
PdfAnnotation paketin sınıfı com.itextpdf.kernel.pdf.annot tüm ek açıklamaların üst sınıfını temsil eder.
Türetilmiş sınıfları arasında, PdfCircleAnnotationsınıf, daire açıklamasını temsil eder. Aşağıda gösterildiği gibi bu sınıfın bir nesnesini oluşturun.
// Creating a PdfCircleAnnotation object Rectangle
rect = new Rectangle(150, 770, 50, 50);
PdfAnnotation annotation = new PdfCircleAnnotation(rect);
Adım 5: Ek açıklamanın rengini ayarlama
Ek açıklamaya renk ayarlayın. setColor() yöntemi PdfAnnotationsınıf. Bu yönteme, ek açıklamanın rengini temsil eden renk nesnesini bir parametre olarak iletin.
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
Adım 6: Ek açıklamanın başlığını ve içeriğini ayarlama
Ek açıklamanın başlığını ve içeriğini ayarlayın. setTitle() ve setContents() yöntemleri PdfAnnotation sırasıyla sınıf.
// Setting title to the annotation
annotation.setTitle(new PdfString("circle annotation"));
// Setting contents of the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
7. Adım: Ek açıklamayı bir sayfaya ekleme
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocument sınıfını seçin ve yukarıda oluşturulan notu kullanarak addAnnotation() PdfPage sınıfının yöntemi aşağıda gösterildiği gibi.
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(ann);
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF belgesine daire ek açıklamasının nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururcircleAnnotation.pdf, buna bir daire ek açıklaması ekler ve bunu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin PdfCircleAnnotation.java.
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfString;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.annot.PdfAnnotation;
import com.itextpdf.kernel.pdf.annot.PdfCircleAnnotation;
import com.itextpdf.layout.Document;
public class CircleAnnotation {
public static void main(String args[]) throws Exception {
// Creating a PdfDocument object
String file = "C:/itextExamples// circleAnnotation.pdf";
PdfDocument pdf = new PdfDocument(new PdfWriter(file));
// Creating a Document object
Document doc = new Document(pdf);
// Creating a PdfCircleAnnotation object
Rectangle rect = new Rectangle(150, 770, 50, 50);
PdfAnnotation annotation = new PdfCircleAnnotation(rect);
// Setting color to the annotation
annotation.setColor(Color.YELLOW);
// Setting title to the annotation
annotation.setTitle(new PdfString("circle annotation"));
// Setting contents of the annotation
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));
// Creating a new page
PdfPage page = pdf.addNewPage();
// Adding annotation to a page in a PDF
page.addAnnotation(annotation);
// Closing the document
doc.close();
System.out.println("Annotation added successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac PdfCircleAnnotation.java
java PdfCircleAnnotation
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Annotation added successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl yay çizileceğini göreceğiz.
PDF'de Yay Çizme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
Bir PdfDocument üzerine yay çizmek için, PdfCanvas paketin sınıfı com.itextpdf.kernel.pdf.canvas ve bir yay oluşturun arc() bu sınıfın yöntemi.
Aşağıda, bir PDF belgesine yay çizme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingArc.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir PdfCanvas nesnesi oluşturma
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocument sınıf.
Örnekleyin PdfCanvas paketin nesnesi com.itextpdf.kernel.pdf.canvas yukarıda yaratılanları geçerek PdfPage aşağıda gösterildiği gibi, bu sınıfın yapıcısına nesne.
// Creating a new page
PdfPage pdfPage = pdfDoc.addNewPage();
// Creating a PdfCanvas object
PdfCanvas canvas = new PdfCanvas(pdfPage);
Adım 5: Arkın çizilmesi
Yayı kullanarak yayı çizin arc() yöntemi Canvas sınıf ve kullanarak doldurun fill() yöntemi aşağıda gösterildiği gibi.
// Drawing an arc
canvas.arc(50, 50, 300, 545, 0, 360);
// Filling the arc
canvas.fill();
Adım 6: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı iText kitaplığını kullanarak bir PDF belgesinde nasıl yay çizileceğini gösterir.
Adıyla bir PDF belgesi oluşturur drawingArc.pdf, içine bir yay çizer ve onu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin 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");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac DrawingArc.java
java DrawingArc
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Object drawn on pdf successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl çizgi çizileceğini göreceğiz.
PDF Üzerinde Çizgi Çizme
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument nesneyi bir parametre olarak yapıcısına.
Bir PdfDocument üzerine çizgi çizmek için PdfCanvas paketin sınıfı com.itextpdf.kernel.pdf.canvas ve kullanarak bir çizgi oluşturun moveTo() ve lineTO() bu sınıfın yöntemleri.
Aşağıda, pdf belgesine bir çizgi çizme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingLine.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir PdfCanvas nesnesi oluşturma
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocument sınıf.
Örnekleyin PdfCanvas paketin nesnesi com.itextpdf.kernel.pdf.canvas yukarıda yaratılanları geçerek PdfPage aşağıda gösterildiği gibi, bu sınıfın yapıcısına nesne.
// Creating a new page
PdfPage pdfPage = pdfDoc.addNewPage();
// Creating a PdfCanvas object
PdfCanvas canvas = new PdfCanvas(pdfPage);
Adım 5: Çizgiyi çizme
Kullanarak çizginin başlangıç noktasını ayarlayın. moveTO() yöntemi Canvas sınıf, aşağıda gösterildiği gibi.
// Initial point of the line
canvas.moveTo(100, 300);
Şimdi, bu noktadan başka bir noktaya bir çizgi çizin. lineTo() yöntemi aşağıda gösterildiği gibi.
// Drawing the line
canvas.lineTo(500, 300);
Adım 6: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığı kullanılarak bir PDF belgesinde nasıl çizgi çizileceğini gösterir. Adıyla bir PDF belgesi oluştururdrawingLine.pdf, içine bir yay çizer ve onu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin DrawingLine.java.
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 DrawingLine {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingLine.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);
// Initial point of the line
canvas.moveTo(100, 300);
// Drawing the line
canvas.lineTo(500, 300);
// Closing the path stroke
canvas.closePathStroke();
// Closing the document
doc.close();
System.out.println("Object drawn on pdf successfully");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac DrawingLine.java
java DrawingLine
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Object drawn on pdf successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesine nasıl daire çizileceğini göreceğiz.
Pdf Üzerinde Daire Çizimi
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
Bir PdfDocument üzerine bir daire çizmek için, PdfCanvas paketin sınıfı com.itextpdf.kernel.pdf.canvas ve çağırın circle() bu sınıfın yöntemi.
Aşağıda bir PDF belgesine daire çizme adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/drawingCircle.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: Bir PdfDocument nesnesi oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document nesnesini oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
Adım 4: Bir PdfCanvas nesnesi oluşturma
Yeni bir tane oluştur PdfPage kullanarak sınıf addNewPage() yöntemi PdfDocumentsınıf. ÖrnekleyinPdfCanvas paketin nesnesi com.itextpdf.kernel.pdf.canvas geçerek PdfPage aşağıda gösterildiği gibi, bu sınıfın yapıcısına nesne.
// Creating a new page
PdfPage pdfPage = pdfDoc.addNewPage();
// Creating a PdfCanvas object
PdfCanvas canvas = new PdfCanvas(pdfPage);
Adım 5 Rengi ayarlama
Kullanarak dairenin rengini ayarlayın. setColor() yöntemi Canvas sınıf, aşağıda gösterildiği gibi.
// Setting color to the circle
Color color = Color.GREEN;
canvas.setColor(color, true);
Adım 6: Çemberi Çizmek
Çağırarak bir daire çizin circle() yöntemi Canvas, Aşağıda gösterildiği gibi.
// creating a circle
canvas.circle(300, 400, 200);
7. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir pdf belgesine nasıl daire çizileceğini gösterir. Adıyla bir PDF belgesi oluştururdrawingCircle.pdf, içine bir daire çizer ve onu yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin 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");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün.
javac DrawingCircle.java
java DrawingCircle
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Object drawn on pdf successfully
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesinde metne renk ve yazı tipinin nasıl ayarlanacağını göreceğiz.
PDF'de Metnin Yazı Tipini Ayarlama
Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.
Belgeye bir paragraf eklemek için, Paragraph sınıf ve bu nesneyi kullanarak belgeye ekleyin. add()yöntem. Yöntemleri kullanarak metne renk ve yazı tipi ayarlayabilirsiniz.setFontColor() ve setFont() sırasıyla.
Aşağıda, bir pdf belgesindeki metne renk ve yazı tipini ayarlama adımları verilmiştir.
Adım 1: PdfWriter nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.
Adım 2: PdfDocument Oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Aşağıda gösterildiği gibi, PdfWriter nesnesini yapıcısına ileterek PdfDocument sınıfını örnekleyin.
// Creating a PdfDocument
PdfDocument pdfDoc = new PdfDocument(writer);
Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.
3. Adım: Document sınıfını oluşturma
Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.
Sınıfın nesnesini ileterek Document sınıfının örneğini oluşturun PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.
// Creating a Document
Document document = new Document(pdfDoc);
4. Adım: Metin Oluşturma
Metni somutlaştırarak oluşturun Text paketin sınıfı com.itextpdf.layout.element Aşağıda gösterildiği gibi.
// Creating text object
Text text = new Text("Tutorialspoint");
Adım 5: Yazı tipini ve rengini metne göre ayarlama
Oluştur PdfFont kullanarak nesne createFont() sınıfın yöntemi PdfFontFactory paketin com.itextpdf.kernel.font Aşağıda gösterildiği gibi
// Setting font of the text PdfFont
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
Şimdi, yazı tipini metne ayarlayın. setFont() yöntemi Textbu yönteme sınıf. GeçPdfFont aşağıda gösterildiği gibi bir parametre olarak nesne.
text1.setFont(font);
Rengi metne ayarlamak için setFontColor() Text sınıfının yöntemi, aşağıda gösterildiği gibi.
// Setting font color
text.setFontColor(Color.GREEN);
Adım 6: Paragrafa metin ekleme
Oluşturmak Paragraph sınıf nesnesini kullanarak yukarıda oluşturulan metni ekleyin add() yöntemi aşağıda gösterildiği gibi.
// Creating Paragraph
Paragraph paragraph = new Paragraph();
// Adding text to the paragraph
paragraph.add(text);
7. Adım: Belgeye paragraf ekleme
Paragrafı belgeye ekleyin. add() yöntemi Document sınıf, aşağıda gösterildiği gibi.
doc.add(paragraph1)
8. Adım: Belgeyi Kapatma
Kullanarak belgeyi kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.
// Closing the document
document.close();
Misal
Aşağıdaki Java programı, iText kitaplığını kullanarak bir PDF'deki metne renk ve yazı tipinin nasıl ayarlanacağını gösterir. Adıyla bir PDF belgesi oluştururfonts.pdf, metni biçimlendirir ve yola kaydeder C:/itextExamples/
Bu kodu adıyla bir dosyaya kaydedin FormatingTheText.java.
import com.itextpdf.io.font.FontConstants;
import com.itextpdf.kernel.color.Color;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Text;
public class FormatingTheText {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/fonts.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfDocument object
PdfDocument pdf = new PdfDocument(writer);
// Creating a Document object
Document doc = new Document(pdf);
// Creating text object
Text text1 = new Text("Tutorialspoint");
// Setting font of the text
PdfFont font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);
text1.setFont(font);
// Setting font color
text1.setFontColor(Color.GREEN);
// Creating text object
Text text2 = new Text("Simply Easy Learning");
text2.setFont(PdfFontFactory.createFont(FontConstants.HELVETICA));
// Setting font color
text2.setFontColor(Color.BLUE);
// Creating Paragraph
Paragraph paragraph1 = new Paragraph();
// Adding text1 to the paragraph
paragraph1.add(text1);
paragraph1.add(text2);
// Adding paragraphs to the document
doc.add(paragraph1);
doc.close();
System.out.println("Text added to pdf ..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac FormatingTheText.java
java FormatingTheText
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
Text added to pdf ..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.
Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir görüntünün nasıl ölçekleneceğini göreceğiz.
PDF'deki İçeriği Küçültme
İText kitaplığını kullanarak bir PDF sayfasının içeriğini küçültme adımları aşağıdadır.
Adım 1: Bir PdfWriter ve PdfReader nesnesi oluşturma
PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.
Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.
// Creating a PdfWriter object
String dest = "C:/itextExamples/shrinking.pdf";
PdfWriter writer = new PdfWriter(dest);
Mevcut bir pdf'den veri okumak için bir PdfReader aşağıda gösterildiği gibi nesne.
// Creating a PdfReader
String src = "C:/itextExamples/pdfWithImage.pdf";
PdfReader reader = new PdfReader(src);
Adım 2: Bir PdfDocument nesnesi / nesneleri oluşturma
PdfDocumentclass, iText'teki PDF Belgesini temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.
Kaynak ve hedef PDF belgeleri oluşturun. PdfWriter ve PdfReader aşağıda gösterildiği gibi yapıcılara nesneler.
// Creating a PdfDocument objects
PdfDocument destpdf = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
3. Adım: Mevcut PDF'den bir sayfa açma
Kaynak PDF'den bir sayfa alın getPage() yöntemi PdfPagesınıf. Bu nesneyi kullanarak, aşağıda gösterildiği gibi kaynak belgenin sayfasının boyutunu alın.
// Opening a page from the existing PDF
PdfPage origPage = srcPdf.getPage(1);
// Getting the page size
Rectangle orig = origPage.getPageSizeWithRotation();
Adım 4: Kaynak pdf içeriğini küçültmek
Kullanmak getScaleInstance() yöntemi AffineTransform sınıf, aşağıda gösterildiği gibi kaynak belgenin bir sayfasının içeriğini küçültün.
// Shrink original page content using transformation matrix
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
page.getPageSize().getWidth()/ orig.getWidth()/2,
page.getPageSize().getHeight()/ orig.getHeight()/2);
Step 5: Copying the page
Concatenate the affine transform matrix, created in the previous step, to the matrix of the canvas object of the destination PDF document, as shown below.
// Concatenating the affine transform matrix to the current matrix
PdfCanvas canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
Now, add the page copy to the canvas object of the destination PDF to the source document, as shown below.
// Add the object to the canvas
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
canvas.addXObject(pageCopy, 0, 0);
Step 6: Creating the Document object
The Document class of the package com.itextpdf.layout is the root element while creating a self-sufficient PDF. One of the constructors of this class accepts an object of the class PdfDocument.
Instantiate the Document class by passing the object of the class PdfDocument, as shown below.
// Creating a Document
Document document = new Document(destpdf);
Step 7: Closing the Document
Close the document using the close() method of the Document class, as shown below.
// Closing the document
document.close();
Example
The following Java program demonstrates how to shrink contents of a PDF page using the iText library. It creates a PDF document with name shrinkingPDF.pdf, shrinks the image in the pdf, and saves it in the path C:/itextExamples/
Save this code in a file with name ShrinkingPDF.java.
import com.itextpdf.kernel.geom.AffineTransform;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;
import com.itextpdf.layout.Document;
public class ShrinkPDF {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/shrinking.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfReader
String src = "C:/itextExamples/pdfWithImage.pdf";
PdfReader reader = new PdfReader(src);
// Creating a PdfDocument objects
PdfDocument destpdf = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
// Opening a page from the existing PDF
PdfPage origPage = srcPdf.getPage(1);
// Getting the page size
Rectangle orig = origPage.getPageSizeWithRotation();
// Adding a page to destination Pdf
PdfPage page = destpdf.addNewPage();
// Scaling the image in a Pdf page
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
page.getPageSize().getWidth()/orig.getWidth()/2,
page.getPageSize().getHeight()/ orig.getHeight()/2);
// Shrink original page content using transformation matrix
PdfCanvas canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
// Add the object to the canvas
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
canvas.addXObject(pageCopy, 0, 0);
// Creating a Document object
Document doc = new Document(destpdf);
// Closing the document
doc.close();
System.out.println("Table created successfully..");
}
}
Compile and execute the saved Java file from the command prompt using the following commands −
javac ShrinkingPDF.java
java ShrinkingPDF
Upon execution, the above program creates a PDF document, displaying the following message.
Table created successfully..
If you verify the specified path, you can find the created PDF document as shown below.
The following Java program demonstrates how to tile the contents of a PDF page to different pages using the iText library. It creates a PDF document with the name tilingPdfPages.pdf and saves it in the path C:/itextExamples/.
Save this code in a file with the name TilingPDFPages.java.
import com.itextpdf.kernel.geom.AffineTransform;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;
public class TilingPDFPages {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/tilingPdfPages.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfReader
String src = "C:/itextExamples/pdfWithImage.pdf";
PdfReader reader = new PdfReader(src);
// Creating a PdfDocument objects
PdfDocument destpdf = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
// Opening a page from the existing PDF
PdfPage origPage = srcPdf.getPage(1);
// Getting the page size
Rectangle orig = origPage.getPageSizeWithRotation();
// Getting the size of the page
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
// Tile size
Rectangle tileSize = PageSize.A4.rotate();
AffineTransform transformationMatrix =
AffineTransform.getScaleInstance(tileSize.getWidth() / orig.getWidth() *
2f, tileSize.getHeight() / orig.getHeight() * 2f);
// The first tile
PdfPage page =
destpdf.addNewPage(PageSize.A4.rotate());
PdfCanvas canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
canvas.addXObject(pageCopy, 0, -orig.getHeight() / 2f);
// The second tile
page = destpdf.addNewPage(PageSize.A4.rotate());
canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
canvas.addXObject(pageCopy, -orig.getWidth() / 2f, -orig.getHeight() / 2f);
// The third tile
page = destpdf.addNewPage(PageSize.A4.rotate());
canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
canvas.addXObject(pageCopy, 0, 0);
// The fourth tile
page = destpdf.addNewPage(PageSize.A4.rotate());
canvas = new PdfCanvas(page);
canvas.concatMatrix(transformationMatrix);
canvas.addXObject(pageCopy, -orig.getWidth() / 2f, 0);
// closing the documents
destpdf.close();
srcPdf.close();
System.out.println("PDF created successfully..");
}
}
Compile and execute the saved Java file from the Command prompt using the following commands −
javac TilingPDFPages.java
java TilingPDFPages
Upon execution, the above program creates a PDF document, displaying the following message.
PDF created successfully..
If you verify the specified path, you can find the created PDF document, as shown below −
The following Java program demonstrates how to perform N-up on a PDF page using the iText library. It creates a PDF document with the name nUppingPDF.pdf and saves it in the path C:/itextExamples/
Save this code in a file with the name NUppingPDF.java.
import com.itextpdf.kernel.geom.AffineTransform;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfPage;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.pdf.canvas.PdfCanvas;
import com.itextpdf.kernel.pdf.xobject.PdfFormXObject;
public class NUppingPDF {
public static void main(String args[]) throws Exception {
// Creating a PdfWriter object
String dest = "C:/itextExamples/nUppingPDF.pdf";
PdfWriter writer = new PdfWriter(dest);
// Creating a PdfReader
String src = "C:/itextExamples/pdfWithImage.pdf";
PdfReader reader = new PdfReader(src);
// Creating a PdfDocument objects
PdfDocument destpdf = new PdfDocument(writer);
PdfDocument srcPdf = new PdfDocument(reader);
// Opening a page from the existing PDF
PdfPage origPage = srcPdf.getPage(1);
Rectangle orig = origPage.getPageSize();
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf);
// N-up page
PageSize nUpPageSize = PageSize.A4.rotate();
PdfPage page = destpdf.addNewPage(nUpPageSize);
PdfCanvas canvas = new PdfCanvas(page);
// Scale page
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(
nUpPageSize.getWidth() / orig.getWidth() /
2f, nUpPageSize.getHeight() / orig.getHeight() / 2f);
canvas.concatMatrix(transformationMatrix);
// Add pages to N-up page
canvas.addXObject(pageCopy, 0, orig.getHeight());
canvas.addXObject(pageCopy, orig.getWidth(), orig.getHeight());
canvas.addXObject(pageCopy, 0, 0);
canvas.addXObject(pageCopy, orig.getWidth(), 0);
// closing the documents
destpdf.close();
srcPdf.close();
System.out.println("PDF created successfully..");
}
}
Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -
javac NUppingPDF.java
java NUppingPDF
Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.
PDF created successfully..
Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.