iText-퀵 가이드

PDF (Portable Document Format)는 응용 프로그램 소프트웨어, 하드웨어 및 운영 체제에 독립적 인 방식으로 데이터를 표시하는 데 도움이되는 파일 형식입니다. 각 PDF 파일에는 텍스트, 글꼴, 그래픽 및이를 표시하는 데 필요한 기타 정보를 포함하여 고정 레이아웃 플랫 문서에 대한 설명이 들어 있습니다.

다음과 같은 프로그램을 통해 PDF 문서를 생성하고 조작 할 수있는 여러 라이브러리가 있습니다.

  • Adobe PDF Library−이 라이브러리는 C ++, .NET 및 Java와 같은 언어로 API를 제공합니다. 이를 사용하여 PDF 문서에서 텍스트를 편집,보기, 인쇄 및 추출 할 수 있습니다.

  • Formatting Objects Processor− XSL Formatting Objects 및 출력 독립 포맷터로 구동되는 오픈 소스 인쇄 포맷터. 기본 출력 대상은 PDF입니다.

  • PDF Box− Apache PDFBox는 PDF 문서의 개발 및 변환을 지원하는 오픈 소스 Java 라이브러리입니다. 이 라이브러리를 사용하여 PDF 문서를 작성, 변환 및 조작하는 Java 프로그램을 개발할 수 있습니다.

  • Jasper Reports − Microsoft Excel, RTF, ODT, 쉼표로 구분 된 값 및 XML 파일을 포함한 PDF 문서의 보고서를 생성하는 Java보고 도구입니다.

iText 란 무엇입니까?

위에 나열된 소프트웨어의 iText와 유사하게 Java PDF 라이브러리를 사용하여 PDF 문서를 작성, 변환 및 조작하는 Java 프로그램을 개발할 수 있습니다.

iText의 특징

다음은 iText 라이브러리의 주목할만한 기능입니다-

  • Interactive− iText는 대화 형 PDF 문서를 생성하기위한 클래스 (API)를 제공합니다. 이를 사용하여지도와 책을 만들 수 있습니다.

  • Adding bookmarks, page numbers, etc − iText를 사용하여 북마크, 페이지 번호 및 워터 마크를 추가 할 수 있습니다.

  • Split & Merge − iText를 사용하여 기존 PDF를 여러 PDF로 분할하고 추가 페이지를 추가 / 연결할 수 있습니다.

  • Fill Forms − iText를 사용하여 PDF 문서에서 대화 형 양식을 채울 수 있습니다.

  • Save as Image − iText를 사용하여 PDF를 PNG 또는 JPEG와 같은 이미지 파일로 저장할 수 있습니다.

  • Canvas − iText 라이브러리는 원, 선 등과 같은 PDF 문서에 다양한 기하학적 모양을 그릴 수있는 Canvas 클래스를 제공합니다.

  • Create PDFs− iText를 사용하여 Java 프로그램에서 새 PDF 파일을 생성 할 수 있습니다. 이미지와 글꼴도 포함 할 수 있습니다.

IText 환경

Eclipse에서 iText 환경을 설정하려면 아래 단계를 따르십시오.

Step 1 − Eclipse를 설치하고 아래와 같이 새 프로젝트를 엽니 다.

Step 2 − 생성 iTextSample 프로젝트는 아래와 같습니다.

Step 3− 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 아래와 같이 Maven 프로젝트로 변환합니다. Maven 프로젝트로 변환하면pom.xml필요한 종속성을 언급해야합니다. 그 후jar 이러한 종속성의 파일은 프로젝트에 자동으로 다운로드됩니다.

Step 4 − 이제 pom.xml 프로젝트의 다음 내용 (iText 응용 프로그램에 대한 종속성)을 복사하여 붙여넣고 프로젝트를 새로 고칩니다.

Using pom.xml

프로젝트를 Maven 프로젝트로 변환하고 다음 콘텐츠를 해당 프로젝트에 추가합니다. 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>

마지막으로 Maven 종속성을 관찰하면 필요한 모든 jar 파일이 다운로드되었습니다.

이제 iText 라이브러리를 사용하여 PDF 문서를 만드는 방법을 이해하겠습니다.

빈 PDF 문서 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

다음은 빈 PDF 문서를 만드는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF 용 문서 작성기를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : 빈 페이지 추가

그만큼 addNewPage() 의 방법 PdfDocument 클래스는 PDF 문서에서 빈 페이지를 만드는 데 사용됩니다.

아래와 같이 이전 단계에서 만든 PDF 문서에 빈 페이지를 추가합니다.

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

4 단계 : 문서 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

5 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음은 PDF 문서 작성을 보여주는 Java 프로그램입니다. 이름을 가진 PDF 문서를 생성합니다.sample.pdf, 빈 페이지를 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac create_PDF.java 
java create_PDF

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

PDF created

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 문서는 빈 문서이므로이 문서를 열려고하면 다음 스크린 샷과 같이 오류 메시지가 표시됩니다.

이 장에서는 iText 라이브러리를 사용하여 AreaBreak로 PDF 문서를 만드는 방법을 살펴 봅니다.

AreaBreak 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 영역 나누기를 추가하려면 다음을 인스턴스화해야합니다.AreaBreak 수업과 add 이 개체를 사용하여 문서화 add() 방법.

다음은 AreaBreak를 사용하여 빈 PDF 문서를 만드는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter 클래스는 PDF의 문서 작성기를 나타냅니다.이 클래스는 패키지에 속합니다. com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 PDF를 만들어야하는 경로를 나타내는 문자열 값을 생성자에 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocument class는 iText에서 PDF 문서를 나타내는 클래스이며이 클래스는 패키지에 속합니다. com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 객체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부, 이벤트 핸들러와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : 문서 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 영역 나누기 개체 만들기

그만큼 AreaBreak 클래스는 패키지에 속합니다. com.itextpdf.layout.element. 이 클래스를 인스턴스화 할 때 현재 컨텍스트 영역이 종료되고 동일한 크기로 새 컨텍스트 영역이 생성됩니다 (기본 생성자를 사용하는 경우).

인스턴스화 AreaBreak 아래와 같이 클래스.

// Creating an Area Break    
AreaBreak aB = new AreaBreak();

5 단계 : AreaBreak 추가

추가 areabreak 이전 단계에서 만든 개체 add() 아래와 같이 Document 클래스의 메서드입니다.

// Adding area break to the PDF 
document.add(aB);

6 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 AreaBreak로 PDF 문서를 작성하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingAreaBreak.pdf, 추가 areabreak 그것에, 그것을 경로에 저장합니다 C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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");       
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingAreaBreak.java 
java AddingAreaBreak

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Pdf Created

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서를 만들고 단락을 추가하는 방법을 살펴 봅니다.

단락 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 단락을 추가하려면 다음을 인스턴스화해야합니다.Paragraph 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

다음은 단락이있는 PDF 문서를 만드는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF 용 문서 작성기를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : 문서 클래스 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout루트 요소입니다. 자급 자족 PDF를 만드는 동안. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

클래스의 객체를 전달하여 Document 클래스를 인스턴스화합니다. PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : Paragraph 개체 만들기

그만큼 Paragraph클래스는 텍스트 및 그래픽 정보의 자체 포함 된 블록을 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Paragraph 아래와 같이 텍스트 콘텐츠를 생성자에 문자열로 전달하여 클래스.

String para = "Welcome to Tutorialspoint."; 
// Creating an Area Break    
Paragraph para = new Paragraph (para);

5 단계 : 단락 추가

추가 Paragraph 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding area break to the PDF 
document.add(para);

6 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서를 작성하고 여기에 단락을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingParagraph.pdf, 단락을 추가하고 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingParagraph.java 
java AddingParagraph

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Paragraph added

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서를 만들고 목록을 추가하는 방법을 살펴 봅니다.

목록 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 목록을 추가하려면 다음을 인스턴스화해야합니다.List 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

다음은 PDF 문서를 만들고 목록을 추가하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocument class는 iText에서 PDF 문서를 나타내는 클래스이며이 클래스는 패키지에 속합니다. com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : List 개체 만들기

그만큼 List클래스는 세로로 윤곽이 그려진 일련의 개체를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 List 아래와 같이 클래스.

// Creating a list  
List list = new List();

5 단계 : 목록에 요소 추가

내용 추가 list 개체를 사용하여 add() 의 방법 List 아래와 같이 String 값을 전달하여 클래스.

//  Add elements to the list 
list.add("Java"); 
list.add("JavaFX"); 
list.add("Apache Tika"); 
list.add("OpenCV");

6 단계 : 문서에 목록 추가

추가 list 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(list);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서를 작성하고 목록을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingList.pdf, 목록을 추가하고 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름이있는 파일에 저장 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingList.java 
java AddingList

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

List added

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서를 만들고 테이블을 추가하는 방법을 살펴 봅니다.

PDF에 표 추가

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument생성자에 대한 매개 변수로 객체. 그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다.Table 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

다음은 표가있는 PDF 문서를 만드는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

인스턴스화 PdfWriter 아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 클래스.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Table 아래와 같이 클래스.

// Creating a table object 
float [] pointColumnWidths = {150F, 150F, 150F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 표에 셀 추가

만들기 cell 개체를 인스턴스화하여 Cell 패키지 클래스 com.itextpdf.layout.element. 다음을 사용하여 셀의 내용을 추가합니다.add() 이 클래스의 메서드.

마지막으로이 셀을 테이블에 추가하려면 addCell() 의 방법 Table 수업과 통과 cell 아래와 같이이 메서드에 대한 매개 변수로 개체를 사용합니다.

// 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

6 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서를 작성하고 여기에 테이블을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingTable.pdf, 테이블을 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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..");   
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingTable.java 
java AddingTable

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Table created successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서를 만들고 표를 추가하고 표의 셀 내용을 포맷하는 방법을 살펴 봅니다.

표의 셀 서식 지정

빈 PDF를 만들 수 있습니다. DocumentDocument 클래스를 인스턴스화하여. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다.Table 클래스를 사용하여이 개체를 문서에 추가합니다. add()방법. 다음 방법을 사용하여 표에서 셀 내용의 서식을 지정할 수 있습니다.Cell 수업.

다음은 표에서 셀 내용의 서식을 지정하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDFDocument를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 위에서 생성 된 PdfWriter 객체를 생성자에 추가합니다.

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

한 번 PdfDocument 객체가 생성되면 해당 클래스에서 제공하는 각 메소드를 사용하여 페이지, 글꼴, 파일 첨부, 이벤트 핸들러와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

아래와 같이 Table 클래스를 인스턴스화합니다.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 셀 만들기

만들기 cell 개체를 인스턴스화하여 Cell 패키지 클래스 com.itextpdf.layout.element. 다음을 사용하여 셀의 내용을 추가합니다.add() 의 방법 Cell 아래와 같이 클래스.

// 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

6 단계 : 셀에 배경 추가

셀을 만들고 내용을 추가 한 후에는 셀 서식을 지정할 수 있습니다. 예를 들어, 다음과 같은 셀 클래스의 다른 메서드를 사용하여 배경을 설정하고, 셀 내부에 텍스트를 정렬하고, 텍스트 색상을 변경하는 등의 작업을 수행 할 수 있습니다.setBackgroundColor(), setBorder(), setTextAlignment().

아래와 같이 이전 단계에서 만든 셀에 배경색, 테두리 및 텍스트 정렬을 설정할 수 있습니다.

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 단계 : 표에 셀 추가

마지막으로이 셀을 테이블에 추가하려면 addCell() 의 방법 Table 수업과 통과 cell 아래와 같이이 메서드에 대한 매개 변수로 개체를 사용합니다.

table.addCell(c1);

8 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

9 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 테이블의 셀 내용을 형식화하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingBackground.pdf, 테이블을 추가하고, 셀의 내용을 포맷하고, 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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..");     
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac BackgroundToTable.java 
java BackgroundToTable

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Background added successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 표의 셀 테두리 서식을 지정하는 방법을 알아 봅니다.

셀 테두리 서식 지정

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다. Table 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

다음과 같은 다양한 유형의 테두리를 추가 할 수 있습니다. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder를 사용하여 다양한 색상으로 등 setBorder() 의 방법 Cell 수업.

다음은 표에서 셀의 테두리 서식을 지정하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDFDocument를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 위에서 생성 된 PdfWriter 객체를 생성자에 추가합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Table 아래와 같이 클래스.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 셀 만들기

인스턴스화하여 셀 개체를 만듭니다. Cell 패키지 클래스 com.itextpdf.layout.element 사용하여 셀의 내용을 추가 add() 의 방법 Cell 아래와 같이 클래스.

// Adding cell 1 to the table 
Cell cell1 = new Cell(); // Creating a cell 
cell1.add("Name");       // Adding content to the cell

6 단계 : 셀 테두리 서식 지정

iText 라이브러리는 다음과 같은 테두리를 나타내는 다양한 클래스를 제공합니다. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder

이 클래스의 생성자는 두 개의 매개 변수를 허용합니다. color 테두리의 색상을 나타내는 객체와 integer 테두리의 너비를 나타냅니다.

이 테두리 유형 중 하나를 선택하고 color 개체와 integer 아래와 같이 너비를 나타냅니다.

Border b1 = new DashedBorder(Color.RED, 3);

이제 다음을 사용하여 셀의 테두리를 설정합니다. setBorder() 의 방법 cell수업. 이 메소드는 다음 유형의 객체를받습니다.Border 매개 변수로.

위 생성 된 내용을 전달하여 셀의 테두리를 설정합니다. Border 개체를 매개 변수로 setBorder() 방법은 아래와 같습니다.

c1.setBorder(b1)

마지막으로이 셀을 테이블에 추가하려면 addCell() 의 방법 Table 수업과 통과 cell 아래와 같이이 메서드에 대한 매개 변수로 개체를 사용합니다.

table.addCell(c1);

7 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 테이블에서 셀의 테두리를 형식화하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.coloredBorders.pdf, 테이블을 추가하고, 셀의 내용을 포맷하고, 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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..");     
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac FormatedBorders.java 
java FormatedBorders

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Borders added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서의 표에 이미지를 추가하는 방법을 알아 봅니다.

테이블에 이미지 추가

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다.Table 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

이 테이블에 이미지를 추가하려면 다음을 인스턴스화해야합니다. Cell 클래스를 만들고 추가해야하는 이미지의 개체를 만들고 cell 개체를 사용하여 add() 의 방법 Cell 수업.

다음은 표의 셀에 이미지를 삽입하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter 클래스는 PDF의 문서 작성기를 나타냅니다.이 클래스는 패키지에 속합니다. com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 PDF를 만들어야하는 경로를 나타내는 문자열 값을 생성자에 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 아래와 같이 생성자에 위에서 생성 된 PdfWriter 객체를 전달하여 클래스.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Table 아래와 같이 클래스.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 셀 만들기

만들기 cell 개체를 인스턴스화하여 Cell 패키지 클래스 com.itextpdf.layout, 아래 그림과 같이.

// Adding cell to the table
Cell cell = new Cell();  // Creating a cell

6 단계 : 이미지 생성

만들려면 image 객체, 우선, 생성 ImageData 개체를 사용하여 create() 의 방법 ImageDataFactory수업. 이 메서드의 매개 변수로 아래와 같이 이미지의 경로를 나타내는 문자열 매개 변수를 전달합니다.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

이제 인스턴스화 Image 클래스 com.itextpdf.layout.element꾸러미. 인스턴스화하는 동안ImageData 아래와 같이 생성자에 대한 매개 변수로 위에서 생성 된 객체.

// Creating an Image object 
Image img = new Image(data);

추가 image 개체를 사용하여 셀에 add() 아래와 같이 셀 클래스의 메서드.

// Adding image to the cell  
cell.add(img.setAutoScale(true));

7 단계 : 표에 셀 추가

마지막으로이 셀을 테이블에 추가하려면 addCell() 의 방법 Table 수업과 통과 cell 아래와 같이이 메서드에 대한 매개 변수로 개체를 사용합니다.

table.addCell(cell);

8 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

9 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서의 테이블 셀에 이미지를 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingImage.pdf, 테이블을 추가하고 이미지 (javafxLogo.jpg)를 셀 중 하나에 삽입 한 다음 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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..");     
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingImageToTable.java 
java AddingImageToTable

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Image added to table successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서의 테이블에 중첩 테이블을 추가하는 방법을 알아 봅니다.

PDF에 중첩 테이블 추가

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. 그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다.Table 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

이 테이블에 테이블을 추가하려면 다른 테이블 (중첩 된 테이블)을 생성하고 다음을 사용하여 셀 객체에 전달해야합니다. add() 의 방법 Cell 수업.

다음은 표의 셀에 표를 삽입하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다. PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Table 아래와 같이 클래스.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 셀 만들기

만들기 cell 개체를 인스턴스화하여 Cell 패키지 클래스 com.itextpdf.layout, 아래 그림과 같이.

// Adding cell to the table 
Cell contact = new Cell();    // Creating a cell

6 단계 : 중첩 테이블 만들기

생성 후 cell, 중첩 된 테이블을 만들고 아래에 표시된대로 셀을 채 웁니다.

// 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 단계 : 셀에 중첩 된 표 추가

이제 위에서 만든 중첩 테이블을 상위 (컨테이너) 테이블의 셀에 추가합니다. add() 의 방법 Cell수업. 그리고 다음을 사용하여이 셀을 상위 테이블에 추가합니다.addCell() 의 방법 Table 아래와 같이 클래스.

contact.add(nestedTable); 
table.addCell(contact);

8 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

9 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서의 테이블 (중첩 된 테이블) 셀에 테이블을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingNestedTable.pdf, 테이블을 추가하고 다른 테이블을 해당 셀 중 하나에 삽입 한 다음 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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..");     
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddNestedTable.java 
java AddNestedTable

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Nested Table Added successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서의 표에 목록을 추가하는 방법을 알아 봅니다.

PDF의 표에 목록 추가

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument생성자에 대한 매개 변수로 객체. 그런 다음 문서에 테이블을 추가하려면 다음을 인스턴스화해야합니다.Table 클래스를 사용하여이 개체를 문서에 추가합니다. add() 방법.

추가하려면 list 테이블에 인스턴스화해야합니다. List 클래스 com.itextpdf.layout.element 포장하고 안으로 삽입하십시오 cell 개체를 사용하여 add() 의 방법 Cell 수업.

다음은 테이블의 셀에 목록을 추가하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF 용 문서 작성기를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지 c에 속합니다.om.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 아래와 같이 생성자에 위에서 생성 된 PdfWriter 객체를 전달하여 클래스.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 테이블 개체 만들기

그만큼 Table클래스는 행과 열로 정렬 된 셀로 채워진 2 차원 격자를 나타냅니다. 패키지에 속합니다.com.itextpdf.layout.element.

인스턴스화 Table 아래와 같이 클래스.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

5 단계 : 셀 만들기

만들기 cell 개체를 인스턴스화하여 Cell 패키지 클래스 com.itextpdf.layout, 아래 그림과 같이.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

6 단계 : 목록 개체 만들기

셀을 만든 후 list 개체를 인스턴스화하여 List 패키지 클래스 com.itextpdf.layout.element. 인스턴스화하여 목록 항목을 만듭니다.ListItem 클래스를 만들고 생성 된 항목을 add() 의 방법 List 아래와 같이 클래스.

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);

7 단계 : 표의 셀에 목록 추가

이제 위에서 만든 목록을 테이블의 셀에 추가합니다. add()Cell 클래스의 메서드. 그리고 다음을 사용하여이 셀을 테이블에 추가합니다.addCell() 의 방법 Table 아래와 같이 클래스.

listCell.add(list); 
table.addCell(listCell);

8 단계 : 문서에 표 추가

추가 table 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding list to the document 
document.add(table);

9 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서의 테이블 셀에 목록을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingObjects.pdf, 테이블을 추가하고, 셀 중 하나에 목록을 삽입하고, 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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..");     
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingListsToTable.java 
java AddingListsToTable

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Lists added to table successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 이미지를 추가하는 방법을 알아 봅니다.

PDF에 이미지 추가

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument객체를 매개 변수로 생성자에 전달합니다. PDF에 이미지를 추가하려면 추가해야하는 이미지의 개체를 만들고add() 의 방법 Document 수업.

다음은 PDF 문서에 이미지를 추가하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 이미지 개체 만들기

만들려면 image 객체, 우선, 생성 ImageData 개체를 사용하여 create() 의 방법 ImageDataFactory수업. 이 메서드의 매개 변수로 아래와 같이 이미지의 경로를 나타내는 문자열 매개 변수를 전달합니다.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

이제 인스턴스화 Image 클래스 com.itextpdf.layout.element꾸러미. 인스턴스화하는 동안 위에서 만든ImageData 아래와 같이 생성자에 대한 매개 변수로 객체

// Creating an Image object 
Image img = new Image(data);

5 단계 : 문서에 이미지 추가

다음을 사용하여 이전 단계에서 만든 이미지 개체를 추가합니다. add() 의 방법 Document 아래와 같이 클래스.

// Adding image to the document 
document.add(img);

6 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 이미지를 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.addingImage.pdf, 이미지를 추가하고 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름이있는 파일에 저장 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac AddingImage.java 
java AddingImage

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Image added

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에서 이미지의 위치를 ​​설정하는 방법을 살펴 봅니다.

이미지 위치 설정

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

pdf에 이미지를 추가하려면 추가해야하는 이미지의 개체를 만들고 추가합니다. add() 의 방법 Document수업. 방법을 사용하여 문서의 원하는 위치에 이미지를 삽입 할 수 있습니다.setFixedPosition()Image 수업.

다음은 PDF 문서에서 이미지의 위치를 ​​설정하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 이미지 개체 만들기

이미지 개체를 만들려면 먼저 ImageData 개체를 사용하여 create() 의 방법 ImageDataFactory수업. 이 메서드의 매개 변수로 아래와 같이 이미지의 경로를 나타내는 문자열 매개 변수를 전달합니다.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

이제 인스턴스화 Image 클래스 com.itextpdf.layout.element꾸러미. 인스턴스화하는 동안ImageData 아래와 같이 생성자에 대한 매개 변수로 객체

// Creating an Image object 
Image img = new Image(data);

5 단계 : 이미지 위치 설정

PDF 문서에서 이미지 위치를 설정할 수 있습니다. setFixedPosition()Image의 방법. 아래 그림과 같이이 방법을 사용하여 이미지의 위치를 ​​문서의 좌표 (100, 250)로 설정합니다.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

6 단계 : 문서에 이미지 추가

이제 이전 단계에서 만든 이미지 개체를 추가합니다. add() 의 방법 Document 아래와 같이 클래스.

// Adding image to the document 
document.add(img);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서의 원하는 위치에 이미지를 설정하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.positionOfImage.pdf, 이미지를 추가하고 페이지 중앙에 더 가깝게 설정 한 다음 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac SettingPosition.java 
java SettingPosition

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Image added

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서의 이미지 크기를 조정하는 방법을 알아 봅니다.

PDF에서 이미지 크기 조정

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PDF에 이미지를 추가하려면 추가해야하는 이미지의 개체를 만들고 add() 의 방법 Document수업. 다음을 사용하여 이미지 크기를 조정할 수 있습니다.setAutoScale() 방법.

다음은 PDF 문서에있는 이미지의 크기를 조정하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 아래와 같이 생성자에 위에서 생성 된 PdfWriter 객체를 전달하여 클래스.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 이미지 개체 만들기

이미지 개체를 만들려면 먼저 ImageData 개체를 사용하여 create() 의 방법 ImageDataFactory수업. 이 메서드의 매개 변수로 아래와 같이 이미지의 경로를 나타내는 문자열 매개 변수를 전달합니다.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

이제 인스턴스화 Image 클래스 com.itextpdf.layout.element꾸러미. 인스턴스화하는 동안ImageData 아래와 같이 생성자에 대한 매개 변수로 객체

// Creating an Image object 
Image img = new Image(data);

5 단계 : 이미지 크기 조정

다음을 사용하여 이미지 크기를 조정할 수 있습니다. setAutoScale() 방법.

// Setting the position of the image to the center of the page 
image.setFixedPosition(100, 250);

6 단계 : 문서에 이미지 추가

이제 image 이전 단계에서 만든 개체 add() 의 방법 Document 아래와 같이 클래스.

// Adding image to the document 
document.add(img);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서의 문서 크기에 따라 이미지 크기를 조정하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.autoScale.pdf, 이미지를 추가하고, 페이지 크기에 따라 크기를 조정하고, 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름이있는 파일에 저장 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac SettingAutoScale.java 
java SettingAutoScale

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Image Scaled

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리에서 사용 가능한 기능을 사용하여 PDF 문서에 이미지를 삽입하는 방법과 해당 이미지를 회전하는 방법을 살펴 봅니다.

PDF에서 이미지 회전

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PDF에 이미지를 추가하려면 추가해야하는 이미지의 개체를 만들고 add() 의 방법 Document수업. 다음을 사용하여 이미지를 회전 할 수 있습니다.setRotationAngle() 방법.

다음은 PDF 문서에서 이미지를 회전하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 이미지 개체 만들기

이미지 개체를 만들려면 먼저 ImageData 개체를 사용하여 create()의 방법 ImageDataFactory수업. 이 메서드의 매개 변수로 아래와 같이 이미지의 경로를 나타내는 문자열 매개 변수를 전달합니다.

// Creating an ImageData object 
String imageFile = "C:/itextExamples/javafxLogo.jpg"; 
ImageData data = ImageDataFactory.create(imageFile);

이제 인스턴스화 Image 클래스 com.itextpdf.layout.element꾸러미. 인스턴스화하는 동안ImageData object, 생성자에 대한 매개 변수로, 아래와 같이.

// Creating an Image object 
Image img = new Image(data);

5 단계 : 이미지 회전

다음을 사용하여 이미지를 회전 할 수 있습니다. setRotationAngle()방법. 이 방법을 사용하려면 이미지를 회전하려는 회전 각도를 나타내는 정수를 전달해야합니다.

// Rotating the image 
image.setRotationAngle(45);

6 단계 : 문서에 이미지 추가

이제 이전 단계에서 만든 이미지 개체를 add() 의 방법 Document 아래와 같이 클래스.

// Adding image to the document 
document.add(img);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에서 주어진 각도로 이미지를 회전하는 방법을 보여줍니다.

이름을 가진 PDF 문서를 생성합니다. rotatingImage.pdf, 이미지를 추가하고 회전 한 후 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac RotatingImage.java 
java RotatingImage

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Image Rotated

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 텍스트 주석을 추가하는 방법을 알아 봅니다.

PDF에서 텍스트 주석 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PDF 문서에서 텍스트 주석을 사용하려면 다음 개체를 만들어야합니다. PdfTextAnnotation 클래스를 추가하고 PdfPage.

다음은 PDF 문서에서 텍스트 주석을 사용하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

인스턴스화 PdfDocument 클래스를 전달하여 PdfWriter 객체를 생성자에 추가합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfAnnotation 개체 만들기

그만큼 PdfAnnotation 패키지 클래스 com.itextpdf.kernel.pdf.annot 모든 주석의 수퍼 클래스를 나타냅니다.

파생 클래스 중 PdfTextAnnotation클래스는 텍스트 주석을 나타냅니다. 아래와 같이이 클래스의 개체를 만듭니다.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation ann = new PdfTextAnnotation(rect);

5 단계 : 주석 색상 설정

다음을 사용하여 주석에 색상을 설정합니다. setColor() 의 방법 PdfAnnotation수업. 이 메서드에color 주석의 색상을 매개 변수로 나타내는 객체입니다.

// Setting color to the annotation 
ann.setColor(Color.GREEN);

6 단계 : 주석의 제목 및 내용 설정

다음을 사용하여 주석의 제목과 내용을 설정합니다. setTitle()setContents() 의 방법 PdfAnnotation 아래에 표시된대로 각각 클래스.

// Setting title to the annotation 
ann.setTitle(new PdfString("Hello"));        

// Setting contents of the annotation 
ann.setContents("Hi welcome to Tutorialspoint.");

7 단계 : 페이지에 주석 추가

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() PdfDocument 클래스의 메서드를 사용하고 addAnnotation() 의 방법 PdfPage 아래와 같이 클래스.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 텍스트 주석을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.textAnnotation.pdf, 텍스트 주석을 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac TextAnnotation.java 
java TextAnnotation

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Annotation added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 링크 주석을 추가하는 방법을 알아 봅니다.

PDF에서 링크 주석 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PDF 문서에서 텍스트 주석을 사용하려면 PdfTextAnnotation 클래스의 개체를 만들고이를 PdfPage에 추가해야합니다.

다음은 PDF 문서에서 텍스트 주석을 사용하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

인스턴스화 PdfWriter 아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 클래스.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

다음을 전달하여 PdfDocument 클래스를 인스턴스화합니다. PdfWriter 객체를 생성자에 추가합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

인스턴스화 Document 아래와 같이 이전 단계에서 생성 한 PdfDocument 클래스의 객체를 전달하여

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

4 단계 : PdfAnnotation 개체 만들기

그만큼 PdfAnnotation 패키지 클래스 com.itextpdf.kernel.pdf.annot 모든 주석의 수퍼 클래스를 나타냅니다.

파생 클래스 중 PdfLinkAnnotation클래스는 링크 주석을 나타냅니다. 아래와 같이이 클래스의 개체를 만듭니다.

// Creating a PdfLinkAnnotation object 
Rectangle rect = new Rectangle(0, 0); 
PdfLinkAnnotation annotation = new PdfLinkAnnotation(rect);

5 단계 : 주석 작업 설정

다음을 사용하여 주석에 대한 작업을 설정합니다. setAction() 의 방법 PdfLinkAnnotation 아래와 같이 클래스.

// Setting action of the annotation 
PdfAction action = PdfAction.createURI("http: // www.tutorialspoint.com/"); 
annotation.setAction(action);

6 단계 : 링크 만들기

인스턴스화하여 링크를 만듭니다. Link 패키지 클래스 com.itextpdf.layout.element, 아래 그림과 같이.

// Creating a link 
Link link = new Link("Click here", annotation);

7 단계 : 단락에 링크 주석 추가

인스턴스화하여 새 단락을 만듭니다. Paragraph 클래스를 만들고 이전 단계에서 만든 링크를 add() 이 클래스의 메서드는 아래와 같습니다.

// Creating a paragraph 
Paragraph paragraph = new Paragraph("Hi welcome to Tutorialspoint ");        

// Adding link to paragraph 
paragraph.add(link.setUnderline());

8 단계 : 문서에 단락 추가

다음을 사용하여 문서에 단락을 추가합니다. add() 의 방법 Document 아래와 같이 클래스.

// Adding paragraph to document 
document.add(paragraph);

9 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 링크 주석을 추가하는 방법을 보여줍니다.

이름을 가진 PDF 문서를 생성합니다. linkAnnotation.pdf, 링크 주석을 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");    
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac LinkAnnotation.java 
java LinkAnnotation

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Annotation added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 줄 주석을 추가하는 방법을 알아 봅니다.

PDF에서 선 주석 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 객체를 매개 변수로 생성자에 전달합니다.

PDF 문서에서 텍스트 주석을 사용하려면 다음 개체를 만들어야합니다. PdfTextAnnotation 클래스를 추가하고 PdfPage.

다음은 PDF 문서에서 텍스트 주석을 사용하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 PDF를 만들어야하는 경로를 나타내는 문자열 값을 생성자에 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDFDocument를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 객체가 생성되면 해당 클래스에서 제공하는 각 메소드를 사용하여 페이지, 글꼴, 파일 첨부, 이벤트 핸들러와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

클래스의 객체를 전달하여 Document 클래스를 인스턴스화합니다. PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfAnnotation 개체 만들기

그만큼 PdfAnnotation 패키지 클래스 com.itextpdf.kernel.pdf.annot represent는 모든 주석의 수퍼 클래스입니다.

파생 클래스 중 PdfLineAnnotation클래스는 라인 주석을 나타냅니다. 아래와 같이이 클래스의 개체를 만듭니다.

// Creating PdfAnnotation 
Rectangle rect = new Rectangle(20, 800, 0, 0); 
PdfAnnotation annotation = new PdfLineAnnotation(rect);

5 단계 : 주석 색상 설정

다음을 사용하여 주석에 색상을 설정합니다. setColor() 의 방법 PdfAnnotation수업. 이 메서드에 주석의 색상을 나타내는 색상 객체를 매개 변수로 전달합니다.

// Setting color to the annotation 
annotation.setColor(Color.BLUE);

6 단계 : 주석의 제목 및 내용 설정

다음을 사용하여 주석의 제목과 내용을 설정합니다. setTitle()setContents() 의 방법 PdfAnnotation 아래에 표시된대로 각각 클래스.

// Setting title to the PdfLineAnnotation 
annotation.setTitle(new PdfString("iText"));        

// Setting contents of the PdfLineAnnotation 
annotation.setContents("Hi welcome to Tutorialspoint");

7 단계 : 페이지에 주석 추가

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument 아래와 같이 PdfPage 클래스의 addAnnotation () 메서드를 사용하여 위에서 생성 한 주석을 추가합니다.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(annotation);

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 줄 주석을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.lineAnnotation.pdf, 라인 주석을 추가하고 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름이있는 파일에 저장 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");   
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac LineAnnotation.java 
java LineAnnotation

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Annotation added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 텍스트 마크 업 주석을 추가하는 방법을 알아 봅니다.

PDF에서 마크 업 주석 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument생성자에 대한 매개 변수로 객체. PDF 문서에서 텍스트 주석을 사용하려면 다음 개체를 만들어야합니다.PdfTextAnnotation 클래스를 추가하고 PdfPage.

다음은 PDF 문서에서 텍스트 주석을 사용하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 클래스의 객체를받습니다.PdfDocument.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfAnnotation 개체 만들기

그만큼 PdfAnnotation 패키지 클래스 com.itextpdf.kernel.pdf.annot 모든 주석의 수퍼 클래스를 나타냅니다.

파생 클래스 중 PdfTextMarkupAnnotation클래스는 텍스트 마크 업 주석을 나타냅니다. 아래와 같이이 클래스의 개체를 만듭니다.

// 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);

5 단계 : 주석 색상 설정

다음을 사용하여 주석에 색상을 설정합니다. setColor() 의 방법 PdfAnnotation수업. 이 메서드에color 매개 변수로 주석의.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

6 단계 : 주석의 제목 및 내용 설정

다음을 사용하여 주석의 제목과 내용을 설정합니다. setTitle()setContents() 의 방법 PdfAnnotation 클래스 각각.

// Setting title to the annotation 
annotation.setTitle(new PdfString("Hello!"));        

// Setting contents to the annotation 
annotation.setContents(new PdfString("Hi welcome to Tutorialspoint"));

7 단계 : 페이지에 주석 추가

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument 클래스를 만들고 위에서 만든 주석을 addAnnotation() 아래와 같이 PdfPage 클래스의 메서드입니다.

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

// Adding annotation to a page in a PDF 
pdfPage.addAnnotation(annotation);

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 텍스트 마크 업 주석을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.markupAnnotation.pdf, 텍스트 마크 업 주석을 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");       
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac MarkupAnnotation.java 
java MarkupAnnotation

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Annotation added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 원 주석을 추가하는 방법을 살펴 봅니다.

PDF에서 원 주석 만들기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PDF 문서에서 텍스트 주석을 사용하려면 PdfTextAnnotation 클래스의 객체를 생성하고이를 Pdfpage.

다음은 PDF 문서에서 텍스트 주석을 사용하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

인스턴스화 PdfWriter 아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 클래스.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfAnnotation 개체 만들기

그만큼 PdfAnnotation 패키지 클래스 com.itextpdf.kernel.pdf.annot 모든 주석의 수퍼 클래스를 나타냅니다.

파생 클래스 중 PdfCircleAnnotation클래스는 원 주석을 나타냅니다. 아래와 같이이 클래스의 개체를 만듭니다.

// Creating a PdfCircleAnnotation object Rectangle 
rect = new Rectangle(150, 770, 50, 50); 
PdfAnnotation annotation = new PdfCircleAnnotation(rect);

5 단계 : 주석 색상 설정

다음을 사용하여 주석에 색상을 설정합니다. setColor() 의 방법 PdfAnnotation수업. 이 메서드에 주석의 색상을 나타내는 색상 객체를 매개 변수로 전달합니다.

// Setting color to the annotation 
annotation.setColor(Color.YELLOW);

6 단계 : 주석의 제목 및 내용 설정

다음을 사용하여 주석의 제목과 내용을 설정합니다. setTitle()setContents() 의 방법 PdfAnnotation 클래스 각각.

// 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 단계 : 페이지에 주석 추가

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument 클래스를 만들고 위에서 만든 주석을 addAnnotation() 아래와 같이 PdfPage 클래스의 메서드입니다.

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

// Adding annotation to a page in a PDF 
page.addAnnotation(ann);

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 원 주석을 추가하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.circleAnnotation.pdf, 원 주석을 추가하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");       
   }   
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac PdfCircleAnnotation.java 
java PdfCircleAnnotation

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Annotation added successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 호를 그리는 방법을 살펴 봅니다.

PDF에 호 그리기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PdfDocument에 호를 그리려면 PdfCanvas 패키지 클래스 com.itextpdf.kernel.pdf.canvas를 사용하여 호를 만듭니다. arc() 이 클래스의 메서드.

다음은 PDF 문서에 호를 그리는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfCanvas 개체 만들기

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument 수업.

인스턴스화 PdfCanvas 패키지의 대상 com.itextpdf.kernel.pdf.canvas 위의 생성을 전달하여 PdfPage 아래와 같이이 클래스의 생성자에 개체를 추가합니다.

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

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

5 단계 : 호 그리기

다음을 사용하여 호를 그립니다. arc() 의 방법 Canvas 클래스를 작성하고 fill() 방법은 아래와 같습니다.

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

// Filling the arc 
canvas.fill();

6 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에서 호를 그리는 방법을 보여줍니다.

이름을 가진 PDF 문서를 생성합니다. drawingArc.pdf, 그 안에 호를 그리고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");       
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac DrawingArc.java 
java DrawingArc

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Object drawn on pdf successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 선을 그리는 방법을 살펴 봅니다.

PDF에 선 그리기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 객체를 매개 변수로 생성자에 전달합니다.

PdfDocument에 선을 그리려면 PdfCanvas 패키지 클래스 com.itextpdf.kernel.pdf.canvas 다음을 사용하여 선을 만듭니다. moveTo()lineTO() 이 클래스의 메서드.

다음은 pdf 문서에 선을 그리는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 위에서 만든 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfCanvas 개체 만들기

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument 수업.

인스턴스화 PdfCanvas 패키지의 대상 com.itextpdf.kernel.pdf.canvas 위의 생성을 전달하여 PdfPage 아래와 같이이 클래스의 생성자에 개체를 추가합니다.

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

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

5 단계 : 선 그리기

다음을 사용하여 선의 시작점을 설정합니다. moveTO() 의 방법 Canvas 아래와 같이 클래스.

// Initial point of the line 
canvas.moveTo(100, 300);

이제이 점에서 다른 점으로 선을 그립니다. lineTo() 방법은 아래와 같습니다.

// Drawing the line 
canvas.lineTo(500, 300);

6 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 문서에 선을 그리는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.drawingLine.pdf, 그 안에 호를 그리고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름이있는 파일에 저장 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");             
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac DrawingLine.java 
java DrawingLine

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Object drawn on pdf successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에 원을 그리는 방법을 살펴 봅니다.

PDF에 원 그리기

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

PdfDocument에 원을 그리려면 PdfCanvas 패키지 클래스 com.itextpdf.kernel.pdf.canvas 및 호출 circle() 이 클래스의 메서드.

다음은 PDF 문서에 원을 그리는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : PdfCanvas 개체 만들기

새로 만들기 PdfPage 클래스를 사용하여 addNewPage() 의 방법 PdfDocument수업. 인스턴스화PdfCanvas 패키지의 대상 com.itextpdf.kernel.pdf.canvas 통과하여 PdfPage 아래와 같이이 클래스의 생성자에 개체를 추가합니다.

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

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

5 단계 색상 설정

사용하여 원의 색상을 설정 setColor() 의 방법 Canvas 아래와 같이 클래스.

// Setting color to the circle 
Color color = Color.GREEN; 
canvas.setColor(color, true);

6 단계 : 원 그리기

다음을 호출하여 원을 그립니다. circle() 의 방법 Canvas, 아래 그림과 같이.

// creating a circle 
canvas.circle(300, 400, 200);

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 pdf 문서에 원을 그리는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.drawingCircle.pdf, 그 안에 원을 그리고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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");
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac DrawingCircle.java 
java DrawingCircle

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Object drawn on pdf successfully

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서의 텍스트에 색상과 글꼴을 설정하는 방법을 살펴 봅니다.

PDF에서 텍스트 글꼴 설정

인스턴스화하여 빈 PDF 문서를 만들 수 있습니다. Document수업. 이 클래스를 인스턴스화하는 동안PdfDocument 생성자에 대한 매개 변수로 객체.

문서에 단락을 추가하려면 다음을 인스턴스화해야합니다. Paragraph 클래스를 사용하여이 개체를 문서에 추가합니다. add()방법. 방법을 사용하여 텍스트에 색상과 글꼴을 설정할 수 있습니다.setFontColor()setFont() 각기.

다음은 pdf 문서의 텍스트에 색상 및 글꼴을 설정하는 단계입니다.

1 단계 : PdfWriter 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

이 유형의 객체가 PdfDocument (클래스)에 전달되면이 문서에 추가 된 모든 요소가 지정된 파일에 기록됩니다.

2 단계 : PdfDocument 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

아래와 같이 PdfWriter 개체를 생성자에 전달하여 PdfDocument 클래스를 인스턴스화합니다.

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

PdfDocument 개체가 생성되면 해당 클래스에서 제공하는 각 메서드를 사용하여 페이지, 글꼴, 파일 첨부 및 이벤트 처리기와 같은 다양한 요소를 추가 할 수 있습니다.

3 단계 : 문서 클래스 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

클래스의 객체를 전달하여 Document 클래스를 인스턴스화합니다. PdfDocument 아래와 같이 이전 단계에서 생성되었습니다.

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

4 단계 : 텍스트 생성

인스턴스화하여 텍스트를 만듭니다. Text 패키지 클래스 com.itextpdf.layout.element 아래 그림과 같이.

// Creating text object 
Text text = new Text("Tutorialspoint");

5 단계 : 글꼴 및 색상을 텍스트로 설정

만들기 PdfFont 개체를 사용하여 createFont() 수업 방법 PdfFontFactory 패키지의 com.itextpdf.kernel.font 아래 그림과 같이

// Setting font of the text PdfFont 
font = PdfFontFactory.createFont(FontConstants.HELVETICA_BOLD);

이제 다음을 사용하여 글꼴을 텍스트로 설정합니다. setFont() 의 방법 Text이 메서드에 클래스. 통과PdfFont 아래와 같이 매개 변수로 개체.

text1.setFont(font);

텍스트에 색상을 설정하려면 setFontColor() 아래와 같이 Text 클래스의 메서드.

// Setting font color 
text.setFontColor(Color.GREEN);

6 단계 : 단락에 텍스트 추가

만들기 Paragraph 클래스 개체를 사용하여 위에서 만든 텍스트를 추가합니다. add() 방법은 아래와 같습니다.

// Creating Paragraph 
Paragraph paragraph = new Paragraph();  

// Adding text to the paragraph 
paragraph.add(text);

7 단계 : 문서에 단락 추가

다음을 사용하여 문서에 단락을 추가합니다. add() 의 방법 Document 아래와 같이 클래스.

doc.add(paragraph1)

8 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF의 텍스트에 색상 및 글꼴을 설정하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.fonts.pdf, 텍스트 서식을 지정하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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 ..");   
   }     
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac FormatingTheText.java 
java FormatingTheText

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

Text added to pdf ..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

이 장에서는 iText 라이브러리를 사용하여 PDF 문서에서 이미지 크기를 조정하는 방법을 알아 봅니다.

PDF에서 콘텐츠 축소

다음은 iText 라이브러리를 사용하여 PDF 페이지의 내용을 축소하는 단계입니다.

1 단계 : PdfWriter 및 PdfReader 개체 만들기

그만큼 PdfWriter클래스는 PDF의 DocWriter를 나타냅니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스의 생성자는 PDF가 생성 될 파일의 ​​경로를 나타내는 문자열을받습니다.

아래와 같이 생성자에 문자열 값 (PDF를 만들어야하는 경로를 나타냄)을 전달하여 PdfWriter 클래스를 인스턴스화합니다.

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

기존 PDF에서 데이터를 읽으려면 PdfReader 아래와 같이 개체.

// Creating a PdfReader 
String src = "C:/itextExamples/pdfWithImage.pdf"; 
PdfReader reader = new PdfReader(src);

2 단계 : PdfDocument 개체 만들기

그만큼 PdfDocumentclass는 iText에서 PDF 문서를 나타내는 클래스입니다. 이 클래스는 패키지에 속합니다.com.itextpdf.kernel.pdf. 이 클래스를 인스턴스화하려면 (쓰기 모드에서) 클래스의 객체를 전달해야합니다.PdfWriter 생성자에.

소스 및 대상 PDF 문서를 PdfWriterPdfReader 아래와 같이 생성자에 객체를 추가합니다.

// Creating a PdfDocument objects 
PdfDocument destpdf = new PdfDocument(writer);         
PdfDocument srcPdf = new PdfDocument(reader);

3 단계 : 기존 PDF에서 페이지 열기

다음을 사용하여 소스 PDF에서 페이지 가져 오기 getPage() 의 방법 PdfPage수업. 이 개체를 사용하여 아래와 같이 원본 문서의 페이지 크기를 가져옵니다.

// Opening a page from the existing PDF 
PdfPage origPage = srcPdf.getPage(1);       

// Getting the page size 
Rectangle orig = origPage.getPageSizeWithRotation();

4 단계 : 소스 pdf의 내용 축소

사용 getScaleInstance() 의 방법 AffineTransform 클래스의 경우 아래와 같이 소스 문서의 페이지 내용을 축소합니다.

// Shrink original page content using transformation matrix 
AffineTransform transformationMatrix = AffineTransform.getScaleInstance(    
   page.getPageSize().getWidth()/ orig.getWidth()/2,    
   page.getPageSize().getHeight()/ orig.getHeight()/2);

5 단계 : 페이지 복사

연결 affine transform matrix, 이전 단계에서 생성 된 canvas 아래와 같이 대상 PDF 문서의 개체입니다.

// Concatenating the affine transform matrix to the current matrix 
PdfCanvas canvas = new PdfCanvas(page);       
canvas.concatMatrix(transformationMatrix);

이제 페이지 사본을 canvas 아래와 같이 대상 PDF의 개체를 원본 문서에 추가합니다.

// Add the object to the canvas 
PdfFormXObject pageCopy = origPage.copyAsFormXObject(destpdf); 
canvas.addXObject(pageCopy, 0, 0);

6 단계 : Document 개체 만들기

그만큼 Document 패키지 클래스 com.itextpdf.layout자급 자족 PDF를 만드는 동안 루트 요소입니다. 이 클래스의 생성자 중 하나는 PdfDocument 클래스의 개체를받습니다.

인스턴스화 Document 클래스의 객체를 전달하여 클래스 PdfDocument, 아래 그림과 같이.

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

7 단계 : 문서 닫기

다음을 사용하여 문서를 닫습니다. close() 의 방법 Document 아래와 같이 클래스.

// Closing the document 
document.close();

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 페이지의 컨텐츠를 축소하는 방법을 보여줍니다. 이름이있는 PDF 문서를 생성합니다.shrinkingPDF.pdf, pdf의 이미지를 축소하고 경로에 저장합니다. C:/itextExamples/

이 코드를 이름이있는 파일에 저장 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..");
   }
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac ShrinkingPDF.java 
java ShrinkingPDF

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

Table created successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 페이지의 컨텐츠를 다른 페이지로 타일링하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.tilingPdfPages.pdf 경로에 저장합니다. C:/itextExamples/.

이 코드를 이름으로 파일에 저장하십시오. 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..");
   }
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac TilingPDFPages.java 
java TilingPDFPages

실행시 위의 프로그램은 PDF 문서를 생성하고 다음 메시지를 표시합니다.

PDF created successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.

다음 Java 프로그램은 iText 라이브러리를 사용하여 PDF 페이지에서 N-up을 수행하는 방법을 보여줍니다. 이름을 가진 PDF 문서를 생성합니다.nUppingPDF.pdf 경로에 저장합니다. C:/itextExamples/

이 코드를 이름으로 파일에 저장하십시오. 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..");   
   } 
}

다음 명령을 사용하여 명령 프롬프트에서 저장된 Java 파일을 컴파일하고 실행합니다.

javac NUppingPDF.java 
java NUppingPDF

실행시 위의 프로그램은 다음 메시지를 표시하는 PDF 문서를 생성합니다.

PDF created successfully..

지정된 경로를 확인하면 아래와 같이 생성 된 PDF 문서를 찾을 수 있습니다.