diff options
| author | Teddy Wing | 2023-04-24 01:29:28 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2023-04-24 01:29:28 +0200 | 
| commit | f409b761be1a65908784d770db3617c2ca9838f3 (patch) | |
| tree | 51001f7eaf5a98d63ed051111732806fdb9f8c2f /src/main/java | |
| parent | 8c5a16e708c85cfbe0fd1d8b73defca761f54731 (diff) | |
| download | pdf-form-replace-font2-f409b761be1a65908784d770db3617c2ca9838f3.tar.bz2 | |
App.java: Start adding command line option parsing
Used the following resources to see how to parse command line options
using commons-cli:
- https://reintech.io/blog/java-command-line-applications-parsing-processing-arguments
- https://commons.apache.org/proper/commons-cli/usage.html
Reusing the options from 'pdf-form-replace-font'.
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/com/teddywing/pdf_form_replace_font2/App.java | 38 | 
1 files changed, 38 insertions, 0 deletions
| 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 3c23ba6..c916f62 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,5 +1,12 @@  package com.teddywing.pdf_form_replace_font2; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; +  import com.itextpdf.kernel.pdf.PdfDocument;  import com.itextpdf.kernel.pdf.PdfReader;  import com.itextpdf.kernel.pdf.PdfWriter; @@ -18,6 +25,37 @@ import java.util.Map;  public class App {  	public static void main(String[] args) throws IOException { +		Options options = new Options(); +		options.addOption("f", "find", true, "original font"); +		options.addOption("r", "replace", true, "replacement font"); +		options.addOption("o", "output", true, "output file"); + +		options.addOption("h", "help", false, "print this help menu"); +		options.addOption("V", "version", false, "show the program version"); + +		CommandLineParser option_parser = new DefaultParser(); +		try { +			CommandLine options_matches = option_parser.parse(options, args); + +			String find = options_matches.getOptionValue("find"); +			String replace = options_matches.getOptionValue("replace"); +			String output = options_matches.getOptionValue("output"); + +			boolean should_show_help = options_matches.hasOption("help"); +			boolean should_show_version = options_matches.hasOption("version"); + +			if (should_show_help) { +				HelpFormatter help_formatter = new HelpFormatter(); +				help_formatter.printHelp("pdf-form-replace-font2", options); + +				System.exit(0); +			} +		} +		catch (ParseException e) { +			System.err.println("error: " + e.getMessage()); +			System.exit(64); +		} +  		App.replacePdfFieldFont(  			new PdfReader("f1040.pdf"),  			new PdfWriter("f1040-courier.pdf"), | 
