This project contains a build script to build PDFium for Windows. The process to
build PDFium used here is described at
https://github.com/pvginkel/PdfiumViewer/wiki/Building-PDFium. Basically it does
a standard build, except that a .dll
is build.
The main purpose of this project is to automate building the pdfium.dll
support
library and NuGet packages for the PdfiumViewer
project. However, unmodified versions of the PDFium library are also provided.
I regret to announce I'm archiving this project. I haven't been able to spend any real time on this for a long time now, and must face the fact I'm not in a position to properly support this project.
I'm archiving this project together with the PdfiumViewer project for which this build project was created. Have look there for a bit more background and information.
I'm also shutting down the build server. The Builds folder in this project contains some archived built DLL's that may be of use. See the README there for more information on them.
I've had a great time developing this project and helping you out using this project, and I'm sad I have to now close this down. I hope PdfiumViewer and PdfiumBuild have been of value to you. The source code and NuGet packages won't be going anywhere, so keep using them if they're of value to you.
Besides, the pdfium.dll
files, NuGet packages are automatically build and
published by the build server.
The following NuGet packages are available:
NuGet package | Architecture | V8 support | XFA support |
---|---|---|---|
PdfiumViewer.Native.x86_64.v8-xfa | 64-bit | Yes | Yes |
PdfiumViewer.Native.x86_64.no_v8-no_xfa | 64-bit | No | No |
PdfiumViewer.Native.x86.v8-xfa | 32-bit | Yes | Yes |
PdfiumViewer.Native.x86.no_v8-no_xfa | 32-bit | No | No |
These NuGet packages contain the PDFium DLL and a MSBuild properties file to copy this to the correct folder in your output directory.
Depending on your needs, you can choose the NuGet package(s) you need. The ones
with V8 and XFA support are bigger, but support more features. Also,
the V8 version does not support Windows XP so if you need support for Windows XP,
you need to choose one of the libraries that does not contain V8 support and include
an updated version of the dbghelp
libraries. These can be found in the
Support\dbghelp directory.
The version numbers of these packages are determined automatically and are composed of the current date and the build number from the Jenkins build server.
A build server has been setup to compile PDFium weekly. The results can be downloaded from https://assendelft.webathome.org/Pdfium/. Please note that this is a personal server, which may be down at any time.
The URL points to a website that gives a view over the build output. It shows what builds succeeded and what builds failed and provides access to the build results.
Builds can fail for a number of reasons. For example, at some point the builds failed because issue v8:6068. This specific issue has been solved by now, but new issues can arise.
Feel free to create an issue if the builds are failing.
If you'd like to have a specific configuration of PDFium build, please provide
a pull request. In the project, the Scripts
directory contains scripts to
configure a PDFium build. In such a directory, there is a args.gn
file and
optionally a contrib
directory. The args.gn
file configures the GN build
tool and the contrib
directory contains source files to be included in the
compilation. If you want to have a configuration added, please submit a pull
request with a new sub directory under the Scripts
directory.
Alternatively you can use the application to build PDFium yourself. Building
PDFium can take quite a while. To speed this up, you should remove all
configurations under the Scripts
directory that you don't need to be build
before running the build script.