Sök…


Anmärkningar

Om du tittar på skapandet av PDF hittar du två olika tillvägagångssätt:

  • Grafiska formgivare använder stationära applikationer som Adobe Acrobat eller Adobe InDesign för att skapa ett dokument i en manuell eller semimanuell process.
  • I ett annat sammanhang skapas PDF-dokument programmatiskt med hjälp av ett API för att producera PDF-filer direkt från mjukvaruapplikationer utan - eller med minimala - mänskliga ingripanden. Ibland skapas dokumentet i ett mellanformat först (t.ex. XML, HTML, ...) och konverteras sedan till PDF.

Dessa olika tillvägagångssätt kräver olika mjukvaruprodukter.

Detsamma gäller för PDF-manipulation.

  • Du kan uppdatera en PDF manuellt i verktyg som Adobe Acrobat,
  • Det finns också verktyg som gör det möjligt att fylla i formulär automatiskt baserat på information från en databas.

iText är ett verktyg som fokuserar på automatiseringssidan av saker.

Vad är iText?

iText är en SDK som utvecklades för att tillåta utvecklare att göra följande (och mycket mer):

  • Generera dokument och rapporter baserade på data från en XML-fil eller en databas
  • Skapa kartor och böcker genom att använda flera interaktiva funktioner som finns tillgängliga i PDF
  • Lägg till bokmärken, sidnummer, vattenmärken och andra funktioner i befintliga PDF-dokument
  • Dela eller sammanfoga sidor från befintliga PDF-filer
  • Fyll i interaktiva formulär
  • Signera PDF-dokument digitalt
  • Servera dynamiskt genererade eller manipulerade PDF-dokument till en webbläsare

iText är inte ett slutanvändarverktyg. Du måste bygga iText i dina egna applikationer så att du kan automatisera PDF-skapandet och manipuleringsprocessen.

När ska jag använda iText?

I allmänhet används iText i projekt som har ett av följande krav:

  • Innehållet är inte tillgängligt i förväg: det beräknas baserat på användarinmatning eller databasinformation i realtid.
  • PDF-filerna kan inte produceras manuellt på grund av den enorma mängden innehåll: ett stort antal sidor eller dokument.
  • Dokument måste skapas i obevakat läge i en batchprocess.
  • Innehållet måste anpassas eller anpassas; till exempel måste slutanvändarens namn stämplas på ett antal sidor.

Ofta möter du dessa krav i webbapplikationer, där innehåll måste serveras dynamiskt till en webbläsare. Normalt tjänar du denna information i form av HTML, men för vissa dokument föredras PDF framför HTML för bättre utskriftskvalitet, för identisk presentation på olika plattformar, av säkerhetsskäl, för att uppfylla specifika industristandarder (t.ex. som PADES, PDF / A eller PDF / UA), eller för att minska filstorleken.

versioner

Version Första utgåvan Senaste släppningen Slutet av liv
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

Installation eller installation

iText för Java

Importera iText-burkar från Central Maven Repository är det bästa sättet att installera iText 7. Dessa enkla videor förklarar hur man gör detta med olika IDE:

I dessa tutorials definierar vi bara kernel och layout som beroenden. Maven importerar också automatiskt io burken eftersom kernel beror på io paketen.

Detta är den grundläggande listan över beroenden för standardanvändning av 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>

Varje beroende motsvarar en burk i Java och med en DLL i C #.

  • kernel och io : innehåller låg nivå-funktionalitet.
  • layout : innehåller funktionalitet på hög nivå.
  • forms : behövs för alla AcroForm-exempel.
  • pdfa : behövs för PDF / A-specifik funktionalitet.
  • pdftest : behövs för exemplen som också är ett test.

För mer specifik användning av iText 7 kan du behöva ytterligare burkar:

  • barcodes : använd den här om du vill skapa streckkoder.
  • hyph : använd det här om du vill att text ska bindas ned.
  • font-asian : använd detta är du behöver CJK-funktionalitet (kinesiska / japanska / koreanska)
  • sign : använd det här om du behöver support för digitala signaturer.

Alla burkar listade ovan är tillgängliga under AGPL-licensen. Du kan också ladda ner dessa burkar i en ZIP-fil värd på Github: https://github.com/itext/itext7/releases

Om du vill använda dessa burkar måste du lägga till dem i din CLASSPATH, precis som om du skulle lägga till någon annan burk.

Ytterligare iText 7-funktioner är tillgängliga via tillägg, som levereras som burkar under en kommersiell licens. Om du vill använda något av dessa tillägg, eller om du vill använda iText 7 med din egen kod måste du skaffa en kommersiell licensnyckel för iText 7 (se det juridiska avsnittet på iText webbplats ).

Du kan importera en sådan licensnyckel med licensnyckelmodulen. Du kan få licensnyckelskärmen så här:

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

Vissa funktioner i iText är sluten källa. Om du till exempel vill använda PdfCalligraph behöver du typography . Den här modulen fungerar inte utan en officiell licensnyckel.

iText för C #

Du kan ladda ner en ZIP-fil som innehåller alla DLL-filer som finns tillgängliga under AGPL. För mer information om dessa DLL-filer, läs Java-dokumentationen.

Hej världen

Detta är ett mycket enkelt program för att skapa en PDF med iText 7 / Java:

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

( Listning_01_01_HelloWorld.java )

Du kan navigera till många andra exempel från den sidan.


Och detta är ett mycket enkelt program för att skapa en PDF med föregångaren iText 5.5.x / Java:

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

Det finns många fler exempel att navigera från den här sidan också.


Dessa två exempel ser ganska lika ut. Fördelarna med den omdesignade iText 7 API kommer att bli uppenbara, men så fort man börjar titta närmare på mindre triviella exempel. Så enkelt navigera genom exemplet källkod från länkarna ovan och jämföra.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow