This project is hosted at |
|
specifically here: |
|
To download the code HTMLJMerge.jar or source HTMLJMerge-src.zip. |
|
Return to Medge's Home Page
HTMLJMerge
This HTMLJMerge application allows you to do a mail merge with HTML files. It started because someone asked me to merge using OOJMerge HTML tags to merge.
It supports the generation of barcodes and QR codes.
QR code support thanks to the great work of Nayuki, a
magical girl software developer in Toronto Canada. I much appreciate, not only the incredibly clean code, but the license she released is under (MIT). See
https://www.nayuki.io/ for her other stuff.
Examples how to use HTMLJMerge
I've installed wkhtmltopdf to assist in merging to pdf.
The command line would look something like :
java -jar HTMLJMerge.jar -f examples/test_all.html -t examples/results/test_all_res.html -d examples/data_sep.xml -p wkhtmltopdf -s "-q $H $P" -v
Full Usage
Usage: java -jar HTMLJMerge.jar -f fromFileName [-t toFileName] -d dataFileName [-p htmltopdf.binary [-s "$H $P"]] [-v] [-q]
where:
-f fromFileName is the template file.
-t toFileName is the result file - optional. Creates a default named file if missing.
-d dataFileName is the data xml file.
-p htmltopdf.binary binary to convert html to pdf - optional.
-s "pdf file syntax" the command line syntax template - optional (in quotes $H = the To HTML, $P The PDF).
-r the size of the buffer to read in files (html and images) - optional defaults to 100k.
-q quiet mode IE no command line output (file names).
-v verbose mode IE command line output includes to pdf output.
Converting to PDF:
-p is the binary that will be doing the conversion.
-s is the command line syntax where $H means the HTML file and $P The PDF.
You do not change $H and $P to your file names you use values $H and $P.
The command line syntax uses:
the literal $H and changes that to the actual html file/s internally and
the literal $P and changes that to the actual pdf file/s internally.
Some more examples
For example, to merge from
File_F.html using data file
File_D.xml:
java -jar HTMLJMerge.jar -f File_F.html -d File_D.xml
This will produce
File_F_20250808_190606_1.html
The date format is yyyyMMdd_HHmmss_I where I is an index to ensure files are not overriden if
you are creating more than one per second.
For example, to merge from
File_F.html to
File_T.htmlusing data file
File_D.xml:
java -jar HTMLJMerge.jar -f File_F.html -t File_T.html -d File_D.xml
This will produce
File_T.html
Future
I'll keep adding stuff to the library as it occurs to me or anyone using this library.
As of Wed 06 Aug 2025 13:42:35 ACST
HTMLJMerge has 31 classes; containing 6014 lines of which 5605 are not blank
Medge's Home Page
Viewed
times.