A complete client-side Progressive Web App to facilitate preparing PDF forms for automated form filling.
pdf-filling-assistant.web.app/
This started as a quick project to make the life of my team easier and to learn about FE development with react. PDF Form Assistant is an integration tool for PDF form filling automation. I've decided to work a little more on it and dive deeper into FE development and react.
PDF Form Assistant targets a legacy software tech stack which takes a third-party PDF Form and a Java Velocity template to fill the form with data from a database.
Since it shall be usable in an enterprise environment, I focus on a fully functional client side SPA without a backend or any other server request besides the initial delivery of the SPA.
Yet, an app without a DB isn't quite productive, wherefore it does have client side persistence by depending on client-persistence (A wrapper for IndexedDB also authored by me).
PDF Form Assistant is a Progressive WEb App PWA, thus can even be installed when using a chrome based browser.
-
Field identifier are rarely expressive, hence writing templates involve a lot of investigative afford and commercial PDF Editors.
PDF Form Assistanthelps byextractingfield information andhighlightinga selected field side by side. -
During a period of years, many developers are working on pdf forms templates. There is a huge cost due to knowledge transfer.
PDF Form AssistantprovidesshareableFormVariablesand asearchfunctionality, to find the right variable more quickly. -
Writing templates manually for PDF may be cumbersome due to the complexity of customized PDF forms.
PDF Form Assistantopens the opportunity to react on different circumstances with automation by e.g. enforce specific variables or attributes.- Based on my personal observations, there are different field types with unique requirements where each type may also differ in configuration
- text - Straight forward. Identify the field by its name and set a value accordingly. For configuration keep attention to limit characters, visibility and readOnly
- check box - May be tricky. Identify the field by its name. The value for checked can be anything. In most cases checked is represented by on or yes but is not reliable. More reliable is the representation of unchecked which is most of the time Off.
- radio button - Complex. Radio buttons are somewhat a group of check boxes. There is most of the time only one identifier but multiple representations for checked. Only one checked box maybe permitted within a group.
- Some PDF Forms are drastically customized where one have to lookup each
field configuration.
- Based on my personal observations, there are different field types with unique requirements where each type may also differ in configuration
npm installto install the App locallynpm run startto run the App locally- (optional) generate
variables.csvfor testing 'Upload Variables'- create
.envinrootby copy and renaming.example.env npm run pre_devto generate variables.csv for testing 'Upload Variables'
- create
