aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2023-04-23 20:05:49 +0200
committerTeddy Wing2023-04-23 20:05:49 +0200
commit664aa4aab03d73157996e394e17057c7d7bff430 (patch)
tree47449425f8cbd9c2ab08b2db8b2de0176683abbb
parentcc3bdedf289001e40cfd02c758dacab5ba34d23c (diff)
downloadpdf-form-replace-font2-664aa4aab03d73157996e394e17057c7d7bff430.tar.bz2
Move 'Main.java' to 'App.java'
Build our earlier code with Maven.
-rw-r--r--Main.java67
-rw-r--r--Makefile8
-rw-r--r--pom.xml4
-rw-r--r--src/main/java/com/teddywing/pdf_form_replace_font2/App.java77
4 files changed, 75 insertions, 81 deletions
diff --git a/Main.java b/Main.java
deleted file mode 100644
index b69dcd3..0000000
--- a/Main.java
+++ /dev/null
@@ -1,67 +0,0 @@
-import com.itextpdf.kernel.pdf.*;
-import com.itextpdf.kernel.font.*;
-import com.itextpdf.io.font.constants.StandardFonts;
-import com.itextpdf.io.font.FontProgram;
-import com.itextpdf.io.font.FontProgramFactory;
-import com.itextpdf.io.font.PdfEncodings;
-import com.itextpdf.forms.*;
-import com.itextpdf.forms.fields.*;
-
-import java.io.*;
-import java.util.Map;
-
-public class Main {
- public static void main(String args[]) throws IOException {
- PdfDocument pdf = new PdfDocument(
- new PdfReader("f1040.pdf"),
- new PdfWriter("f1040-courier.pdf")
- );
-
- // FontProgramFactory.registerSystemFontDirectories();
- // FontProgramFactory.registerFontDirectory("/System/Library/Fonts/");
- FontProgramFactory.registerFontDirectory("/System/Library/Fonts/Supplemental/");
- // FontProgramFactory
- // .registerFont("/System/Library/Fonts/Supplemental/Courier New.ttf", "hihoaliaso");
- // System.out.println("is registered: "
- // + FontProgramFactory.isRegisteredFont("CourierNewPSMT"));
-
- System.out.println(FontProgramFactory.getRegisteredFonts());
- System.out.println(FontProgramFactory.getRegisteredFontFamilies());
-
- // FontProgram courier_program = FontProgramFactory.createFont("CourierNewPSMT");
- // FontProgram courier_program = FontProgramFactory
- // .createFont("/System/Library/Fonts/Supplemental/Courier New.ttf");
- FontProgram courier_program = FontProgramFactory
- .createRegisteredFont("CourierNewPSMT");
- // FontProgram courier_program = FontProgramFactory
- // .createFont("Courier New.ttf");
- // FontProgram courier_program = FontProgramFactory
- // .createFont("/System/Library/Fonts/Supplemental/Copperplate.ttc", 0, false);
- PdfFont courier = PdfFontFactory
- .createFont(courier_program, PdfEncodings.UTF8, PdfFontFactory.EmbeddingStrategy.FORCE_NOT_EMBEDDED);
-
- PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, false);
- Map<String, PdfFormField> fields = form.getFormFields();
-
- for (var entry : fields.entrySet()) {
- // TODO: Try printing original font family and size on field.
- PdfFormField field = entry.getValue();
-
- PdfFont original_font = field.getFont();
- // System.out.println("Font: " + field.getFontSize());
-
- String original_postscript_name = original_font
- .getFontProgram()
- .getFontNames()
- .getFontName();
-
- if (original_postscript_name.equals("HelveticaLTStd-Bold")) {
- field.setFont(courier);
- // System.out.println("F: " + field.getFont());
- // System.out.println("R: " + field.regenerateField());
- }
- }
-
- pdf.close();
- }
-}
diff --git a/Makefile b/Makefile
index 0125451..85923cf 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,10 @@ CLASSPATH := -classpath '.:./lib/*'
all:
javac $(CLASSPATH) Main.java
+.PHONY: compile
+compile:
+ mvn compile
+
.PHONY: run
-run:
- java $(CLASSPATH) Main
+run: compile
+ mvn exec:java -Dexec.mainClass='com.teddywing.pdf_form_replace_font2.App'
diff --git a/pom.xml b/pom.xml
index 3fe7edd..32bf23f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,8 +16,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>1.7</maven.compiler.source>
- <maven.compiler.target>1.7</maven.compiler.target>
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
diff --git a/src/main/java/com/teddywing/pdf_form_replace_font2/App.java b/src/main/java/com/teddywing/pdf_form_replace_font2/App.java
index ff3fbaf..2fb907b 100644
--- a/src/main/java/com/teddywing/pdf_form_replace_font2/App.java
+++ b/src/main/java/com/teddywing/pdf_form_replace_font2/App.java
@@ -1,13 +1,70 @@
package com.teddywing.pdf_form_replace_font2;
-/**
- * Hello world!
- *
- */
-public class App
-{
- public static void main( String[] args )
- {
- System.out.println( "Hello World!" );
- }
+import com.itextpdf.kernel.pdf.*;
+import com.itextpdf.kernel.font.*;
+import com.itextpdf.io.font.constants.StandardFonts;
+import com.itextpdf.io.font.FontProgram;
+import com.itextpdf.io.font.FontProgramFactory;
+import com.itextpdf.io.font.PdfEncodings;
+import com.itextpdf.forms.*;
+import com.itextpdf.forms.fields.*;
+
+import java.io.*;
+import java.util.Map;
+
+public class App {
+
+ public static void main(String[] args) throws IOException {
+ PdfDocument pdf = new PdfDocument(
+ new PdfReader("f1040.pdf"),
+ new PdfWriter("f1040-courier.pdf")
+ );
+
+ // FontProgramFactory.registerSystemFontDirectories();
+ // FontProgramFactory.registerFontDirectory("/System/Library/Fonts/");
+ FontProgramFactory.registerFontDirectory("/System/Library/Fonts/Supplemental/");
+ // FontProgramFactory
+ // .registerFont("/System/Library/Fonts/Supplemental/Courier New.ttf", "hihoaliaso");
+ // System.out.println("is registered: "
+ // + FontProgramFactory.isRegisteredFont("CourierNewPSMT"));
+
+ System.out.println(FontProgramFactory.getRegisteredFonts());
+ System.out.println(FontProgramFactory.getRegisteredFontFamilies());
+
+ // FontProgram courier_program = FontProgramFactory.createFont("CourierNewPSMT");
+ // FontProgram courier_program = FontProgramFactory
+ // .createFont("/System/Library/Fonts/Supplemental/Courier New.ttf");
+ FontProgram courier_program = FontProgramFactory
+ .createRegisteredFont("CourierNewPSMT");
+ // FontProgram courier_program = FontProgramFactory
+ // .createFont("Courier New.ttf");
+ // FontProgram courier_program = FontProgramFactory
+ // .createFont("/System/Library/Fonts/Supplemental/Copperplate.ttc", 0, false);
+ PdfFont courier = PdfFontFactory
+ .createFont(courier_program, PdfEncodings.UTF8, PdfFontFactory.EmbeddingStrategy.FORCE_NOT_EMBEDDED);
+
+ PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, false);
+ Map<String, PdfFormField> fields = form.getFormFields();
+
+ for (var entry : fields.entrySet()) {
+ // TODO: Try printing original font family and size on field.
+ PdfFormField field = entry.getValue();
+
+ PdfFont original_font = field.getFont();
+ // System.out.println("Font: " + field.getFontSize());
+
+ String original_postscript_name = original_font
+ .getFontProgram()
+ .getFontNames()
+ .getFontName();
+
+ if (original_postscript_name.equals("HelveticaLTStd-Bold")) {
+ field.setFont(courier);
+ // System.out.println("F: " + field.getFont());
+ // System.out.println("R: " + field.regenerateField());
+ }
+ }
+
+ pdf.close();
+ }
}