Age | Commit message (Collapse) | Author |
|
I had used Java 11 in order to use the `var` syntax, which seemed
pleasantly more concise, however, I discovered that the machine I want
to deploy this application to only has a Java 8 SDK, and I don't want to
bother messing with it and going on a potential yak shaving quest.
|
|
Make the program dynamic and use the command line arguments when
performing font replacement.
|
|
Set `input`, `find`, `replace`, and `output` from command line
arguments. These will be used to generate the output PDF.
|
|
Thanks to this Stack Overflow answer by mysomic
(https://stackoverflow.com/users/27241/mysomic) for explaining how to
get the program version in a Maven pom.xml context:
https://stackoverflow.com/questions/2712970/get-maven-artifact-version-at-runtime/12571330#12571330
|
|
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'.
|
|
Move this to a new function to make room in `main()` for command line
argument parsing.
|
|
Not sure what the commn Java style is for wildcard imports, but I didn't
really like them, so replace them with explicit type imports.
|
|
Now that we have something that works, remove the old code from when I
was testing things out.
|
|
Build our earlier code with Maven.
|
|
The previous one wouldn't compile because I used hyphens in my package
name. Regenerate the project structure replacing the hyphens with
underscores:
$ mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4
...
Define value for property 'groupId': com.teddywing.pdf_form_replace_font2
Define value for property 'artifactId': pdf-form-replace-font2
Define value for property 'version' 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT
Define value for property 'package' com.teddywing.pdf_form_replace_font2: :
Confirm properties configuration:
groupId: com.teddywing.pdf_form_replace_font2
artifactId: pdf-form-replace-font2
version: 0.0.1-SNAPSHOT
package: com.teddywing.pdf_form_replace_font2
Y: :
|
|
I followed the Maven Getting Started
(https://maven.apache.org/guides/getting-started/index.html) guide to
set up a project structure so I could use it to manage dependencies. I
picked the 'maven-archetype-simple' archetype
(https://maven.apache.org/archetypes/maven-archetype-simple/).
This code was generated with the following command and interactive
prompts:
$ mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4
Define value for property 'groupId': com.teddywing.pdf-form-replace-font2
Define value for property 'artifactId': pdf-form-replace-font2
Define value for property 'version' 1.0-SNAPSHOT: : 0.0.1-SNAPSHOT
Define value for property 'package' com.teddywing.pdf-form-replace-font2: :
Confirm properties configuration:
groupId: com.teddywing.pdf-form-replace-font2
artifactId: pdf-form-replace-font2
version: 0.0.1-SNAPSHOT
package: com.teddywing.pdf-form-replace-font2
Y: :
|