|HCS Consulting Group.|
|We make Complex Systems simple|
By Albert D. Kallal
October 12, 2021
PDF merge for Access.
Quick start for those in a hurry:
Working sample: Download link: Click here-->>Pmerge.zip
PLEASE note: remember, after you download, make sure you un-block the content before un-zipping,
else this will NOT work.
Eg: right click on zip file - choose properties.
(if you don't un-block before you unzip, then sample will not work!)
How to use?
Sample form included looks like this:
So, just launch the sample, and start merging PDF's.
VBA code to merge PDF files is:
Dim MyPdf As Object
Set MyPdf = CreateObjectNET("Pmerge.dll", "Pmerge.Pmerge")
MyPdf.Add CurrentProject.Path & "\a.pdf"
MyPdf.Add CurrentProject.Path & "\b.pdf"
' set output file to merge above list to
MyPdf.OutPutDoc = CurrentProject.Path & "\ab.pdf"
MyPdf.Merge ' merge the files
So above would merge a.pdf + b.pdf into ab.pdf (and above code assumes in same folder as your Access accDB running application.
Adding page numbers:
You can have merge add page numbers to output file (left, center, right)
MyPdf.CreatePageNumbers = True
' and justify (position) choices are:
MyPdf.Justify = "Left"
MyPdf.Justify = "Center" (default)
MyPdf.Justify = "Right"
This will output a page number on bottom of PDF like this:
Above also shows use of Text option
Adding Text to PDF pages :
You can add a small text message to each page (as in above picture), like this:
MyPdf.CustomText = txtFooting
MyPdf.CustomTextJustify = "Left" (default)
MyPdf.CustomTextJustify = "Center"
MyPdf.CustomTextJustify = "Right"
Default is left, and again same as page number. If you try to place both page number, and text in the same location, then both will display beside each other.
Merge page ranges: comming soon!
Files required and deployment:
There is no "install" of the required files, but you must include these files
nloader.dll -- required for office x32 version
nloader64.dll -- required for office x64 version
pmerge.dll -- required
this pmerge system was written in .net, and uses the iTextSharp library.
Using in your existing application:
Simply copy (cut + paste) or import the one standard code module into your application:
Make sure the 3 .dll's in the SAME folder location as your accDB file.