diff options
| -rw-r--r-- | Main.java | 32 | 
1 files changed, 29 insertions, 3 deletions
| @@ -1,6 +1,9 @@  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.*; @@ -14,9 +17,30 @@ public class Main {  			new PdfWriter("f1040-courier.pdf")  		); -		PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, false); +		// 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()); -		PdfFont courier = PdfFontFactory.createFont(StandardFonts.COURIER); +		// 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.PREFER_EMBEDDED); + +		PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, false);  		Map<String, PdfFormField> fields = form.getFormFields();  		for (var entry : fields.entrySet()) { @@ -24,7 +48,7 @@ public class Main {  			PdfFormField field = entry.getValue();  			PdfFont original_font = field.getFont(); -			System.out.println("Font: " + field.getFontSize()); +			// System.out.println("Font: " + field.getFontSize());  			String original_postscript_name = original_font  				.getFontProgram() @@ -33,6 +57,8 @@ public class Main {  			if (original_postscript_name.equals("HelveticaLTStd-Bold")) {  				field.setFont(courier); +				// System.out.println("F: " + field.getFont()); +				// System.out.println("R: " + field.regenerateField());  			}  		} | 
