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.