#37 java: itext api ex

This commit is contained in:
haerong22
2023-05-24 14:38:02 +09:00
parent e5aaffe0c0
commit 975d461a85
4 changed files with 53 additions and 1 deletions

Binary file not shown.

BIN
java/api/book_info.pdf Normal file

Binary file not shown.

View File

@@ -11,11 +11,15 @@ repositories {
dependencies {
implementation 'org.jsoup:jsoup:1.16.1'
implementation 'com.google.code.gson:gson:2.10.1'
implementation 'org.apache.poi:poi:5.2.3'
implementation 'org.apache.poi:poi-ooxml:5.2.3'
implementation 'org.apache.logging.log4j:log4j-core:2.20.0'
testImplementation 'org.slf4j:slf4j-simple:2.0.7'
implementation 'com.itextpdf:itext7-core:8.0.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'

View File

@@ -0,0 +1,48 @@
package itext;
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 java.io.FileOutputStream;
import java.io.IOException;
import java.time.Year;
import java.util.HashMap;
import java.util.Map;
public class BookInfoToPDF {
public static void main(String[] args) {
Map<String, String> bookInfo = new HashMap<>();
bookInfo.put("title", "자바");
bookInfo.put("author", "홍길동");
bookInfo.put("publisher", "출판사");
bookInfo.put("year", String.valueOf(Year.now().getValue()));
bookInfo.put("price", "25000");
bookInfo.put("pages", "400");
try {
PdfWriter writer = new PdfWriter(new FileOutputStream("book_info.pdf"));
PdfDocument pdf = new PdfDocument(writer);
Document document = new Document(pdf);
PdfFont font = PdfFontFactory.createFont("NanumGothicLight.ttf", PdfEncodings.IDENTITY_H, PdfFontFactory.EmbeddingStrategy.FORCE_EMBEDDED);
document.setFont(font);
for (String key : bookInfo.keySet()) {
Paragraph paragraph = new Paragraph(key + ": " + bookInfo.get(key));
document.add(paragraph);
}
document.close();
System.out.println("pdf 파일 생성 완료");
} catch (IOException e) {
e.printStackTrace();
}
}
}