oktatas:programozas:java:java_pdf:itextpdf9
Tartalomjegyzék
Java PDF generálás - itext9
- Szerző: Sallai András
- Copyright © 2024, Sallai András
- Szerkesztve: 2024
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
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
Az automatikus modulokról:
Fonthasználat:
oktatas/programozas/java/java_pdf/itextpdf9.txt · Utolsó módosítás: 2024/12/08 12:29 szerkesztette: admin