itextitext 시작하기


비고

PDF 작성을 살펴보면 두 가지 접근 방식을 찾을 수 있습니다.

  • 그래픽 디자이너는 Adobe Acrobat 또는 Adobe InDesign과 같은 데스크탑 응용 프로그램을 사용하여 수동 또는 반년 과정으로 문서를 만듭니다.
  • 또 다른 맥락에서, PDF 문서는 최소한의 인간 개입없이 API를 사용하여 소프트웨어 응용 프로그램에서 직접 PDF를 생성함으로써 프로그래밍 방식으로 생성됩니다. 간혹 문서가 중간 형식 (예 : XML, HTML 등)으로 작성된 다음 PDF로 변환되는 경우가 있습니다.

이러한 다양한 접근 방식은 서로 다른 소프트웨어 제품을 요구합니다.

PDF 조작에도 동일하게 적용됩니다.

  • Adobe Acrobat과 같은 도구에서 수동으로 PDF를 업데이트 할 수 있습니다.
  • 데이터베이스의 정보를 기반으로 양식을 자동으로 채울 수있는 도구도 있습니다.

iText는 사물의 자동화 측면에 초점을 맞추는 도구입니다.

iText 란 무엇입니까?

iText는 개발자가 다음과 같은 작업을 수행 할 수 있도록 개발 된 SDK입니다.

  • XML 파일 또는 데이터베이스의 데이터를 기반으로 문서 및 보고서 생성
  • PDF로 제공되는 다양한 대화 형 기능을 활용하여지도 및 책 만들기
  • 기존 PDF 문서에 책갈피, 페이지 번호, 워터 마크 및 기타 기능 추가
  • 기존 PDF 파일의 페이지 분할 또는 연결
  • 대화 형 양식 채우기
  • PDF 문서에 디지털 서명
  • 동적으로 생성되거나 조작 된 PDF 문서를 웹 브라우저에 서비스

iText는 최종 사용자 도구가 아닙니다. 자신 만의 응용 프로그램에 iText를 구축해야만 PDF 작성 및 조작 프로세스를 자동화 할 수 있습니다.

iText를 언제 사용합니까?

일반적으로 iText는 다음 요구 사항 중 하나가있는 프로젝트에서 사용됩니다.

  • 사전에 콘텐츠를 사용할 수 없으며 사용자 입력이나 실시간 데이터베이스 정보를 기반으로 계산됩니다.
  • 엄청난 양의 페이지 또는 문서로 인해 PDF 파일을 수동으로 생성 할 수 없습니다.
  • 문서는 배치 프로세스에서 무인 모드로 만들어야합니다.
  • 콘텐츠를 사용자 정의하거나 개인화해야합니다. 예를 들어 최종 사용자의 이름은 여러 페이지에 스탬프 처리되어야합니다.

종종 브라우저에 컨텐츠를 동적으로 제공해야하는 웹 응용 프로그램에서 이러한 요구 사항을 접하게됩니다. 일반적으로 HTML 형식으로이 정보를 제공하지만 일부 문서의 경우 인쇄 품질 향상, 다양한 플랫폼에서의 동일한 프리젠 테이션, 보안상의 이유로 특정 업계 표준 (예 : PADES, PDF / A 또는 PDF / UA)을 사용하거나 파일 크기를 줄이십시오.

버전

번역 첫번째 출시 최신 릴리스 삶의 끝
0.30 - 0.99 2000-02-14 2003-05-01 2005-12-31
1.00 - 1.4.8 2003-06-25 2006-12-19 2009-12-31
2.00 - 2.1.7 2003-02-15 2009-07-07 2012-12-31
5.0.0 - 5.5.11 2009-12-07 2017-03-20 2018-12-31
7.0.0 - ... 2016-05-03 ... 2025-12-31

안녕하세요 세계

이것은 iText 7 / Java를 사용하여 PDF를 만드는 매우 간단한 프로그램입니다 :

//Initialize writer
PdfWriter writer = new PdfWriter(dest);

//Initialize document
PdfDocument pdfDoc = new PdfDocument(writer);
Document doc = new Document(pdfDoc);

//Add paragraph to the document
doc.add(new Paragraph("Hello World!"));

//Close document
doc.close();
 

( Listing _01_01_HelloWorld.java )

해당 페이지에서 다른 많은 예제로 이동할 수 있습니다.


그리고 이것은 iText 5.5.x / Java의 선구자를 사용하여 PDF를 만드는 매우 간단한 프로그램입니다 :

// step 1
Document document = new Document();
// step 2
PdfWriter.getInstance(document, new FileOutputStream(filename));
// step 3
document.open();
// step 4
document.add(new Paragraph("Hello World!"));
// step 5
document.close();
 

( HelloWorld.java )

이 페이지에서 더 많은 예제를 탐색 할 수 있습니다.


이 두 예제는 꽤 비슷합니다. 재 설계된 iText 7 API의 장점은 더 적은 사소한 예를 더 가까이에서 보게되자 마자 명백해질 것이다. 따라서 위의 링크에서 예제 소스 코드를 탐색하고 비교하면됩니다.

설치 또는 설정

자바 용 iText

iText 7을 설치하는 가장 좋은 방법은 Central Maven Repository에서 iText jars를 가져 오는 것입니다.이 간단한 비디오는 다른 IDE를 사용하여이를 수행하는 방법을 설명합니다.

이 튜토리얼에서는 kernellayout 프로젝트를 의존성으로 정의합니다. kernel 패키지가 io 패키지에 의존하기 때문에 Maven은 자동으로 io jar 파일을 가져옵니다.

다음은 iText 7의 표준 사용을위한 종속성의 기본 목록입니다.

<dependencies>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>kernel</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>io</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>layout</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>forms</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdfa</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>pdftest</artifactId>
        <version>7.0.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.18</version>
    </dependency>
</dependencies>
 

모든 종속성은 Java의 jar와 C #의 DLL에 해당합니다.

  • kernelio : 저수준 기능을 포함합니다.
  • layout : 높은 수준의 기능을 포함합니다.
  • forms : 모든 AcroForm 예제에 필요합니다.
  • pdfa : PDF / A 특정 기능에 필요합니다.
  • pdftest : 테스트 인 예제에 필요합니다.

iText 7을보다 구체적으로 사용하려면 다음과 같은 추가 병이 필요할 수 있습니다.

  • barcodes : barcodes 를 만들려면이 옵션을 사용하십시오.
  • hyph : 텍스트를 하이픈으로 연결하려면이 hyph 사용하십시오.
  • font-asian : CJK 기능이 필요합니다 (중국어 / 일본어 / 한국어).
  • sign : 디지털 서명에 대한 지원이 필요한 경우 사용하십시오.

위에 나열된 모든 병은 AGPL 라이센스 하에서 사용 가능합니다. 또한 Github에서 호스팅되는 ZIP 파일로 이러한 병을 다운로드 할 수 있습니다. https://github.com/itext/itext7/releases

이러한 jar를 사용하려면 다른 jar를 추가하는 것처럼 CLASSPATH에 추가해야합니다.

추가 iText 7 기능은 상업용 라이센스에 따라 병으로 제공되는 추가 기능을 통해 사용할 수 있습니다. 이 애드온을 사용하거나 독점적 인 코드로 iText 7을 사용하려면 iText 7의 상업용 라이센스 키를 얻어야합니다 ( iText 웹 사이트법률 섹션 참조).

라이센스 키 모듈을 사용하여 라이센스 키를 가져올 수 있습니다. 다음과 같이 라이센스 키 jar를 얻을 수 있습니다.

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext-licensekey</artifactId>
    <version>2.0.0</version>
    <scope>compile</scope>
</dependency>
 

iText의 일부 기능은 닫힌 소스입니다. 예를 들어, PdfCalligraph 를 사용하려면 typography 모듈이 필요합니다. 이 모듈은 공식 라이센스 키 없이는 작동하지 않습니다.

C #의 iText

AGPL에서 사용할 수있는 모든 DLL이 포함 된 ZIP 파일을 다운로드 할 수 있습니다. 이 DLL에 대한 자세한 내용은 Java 설명서를 참조하십시오.