Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_pdf:itextpdf9

< Java PDF

Java PDF generálás - itext9

Maven függőségek

A magyar ékezetesekhez szükség van a font-asian csomagra is.

        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>kernel</artifactId>
            <version>9.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>9.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>io</artifactId>
            <version>9.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>font-asian</artifactId>
            <version>9.0.0</version>
        </dependency>

Moduláris Java projekt esetén

A ITextPdf sajnos nem moduláris, így csak automatikus modulbetöltést tudunk beállítani:

    requires transitive kernel;
    requires transitive layout;
    requires transitive io;
    requires transitive font.asian;

Egy JavaFX projektben például az egész module-info.java fájl:

module-info.java
module com.example {
    requires transitive javafx.graphics;
    requires javafx.controls;
    requires javafx.fxml;    
 
    requires transitive kernel;
    requires transitive layout;
    requires transitive io;
    requires transitive font.asian;
 
    opens com.example to javafx.fxml;
    exports com.example;
}

Példa ékezetes szöveghez

Gen.java
package com.example;
 
import java.io.IOException;
 
import com.itextpdf.io.font.FontProgram;
import com.itextpdf.io.font.FontProgramFactory;
import com.itextpdf.io.font.PdfEncodings;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
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 Gen {
  public static void genPdf() {
    try {
      PdfWriter pdfWriter = new PdfWriter("data.pdf");
      PdfDocument pdfDocument = new PdfDocument(pdfWriter);	
      Document document = new Document(pdfDocument);
 
      FontProgram program = FontProgramFactory.createFont();
      PdfFont font = PdfFontFactory.createFont(program, PdfEncodings.CP1250);
 
      Text text = new Text("árvíztűrő tükörfúrógép").setFont(font);
      Paragraph paragraph = new Paragraph(text);
      document.add(paragraph);
      document.close();
    }catch(IOException e) {
        System.err.println("Hiba! A PDF írása sikeretelen!");
        System.err.println(e.getMessage());
    }    
  }
}

Linkek

oktatas/programozas/java/java_pdf/itextpdf9.txt · Utolsó módosítás: 2024/12/08 12:29 szerkesztette: admin