Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Dtronix/PDFiumCore

Open more actions menu

Repository files navigation

PDFiumCore NuGet Action Workflow

PDFiumCore is a .NET Standard 2.1 wrapper for the PDFium library which includes the binaries and header pinvoke bindings. Supports Linux-x64, OSX-x64, Win-x64, Win-x86.

Bindings are generated from the binaries and header files created at pdfium-binaries repository.

Usage

The preferred way to use this project is to use the Nuget Package. This will ensure all the proper bindings in the *.deps.json are generated and included for the targeted environments.

Build Requirements

  • .NET 6.0

Manual Building

Execute the CreateBindingsPackage.bat

This will do the following:

  • Download the specified files at the passed pdfium-binaries API url.
  • Extracts the zip & tgz files into the asset/librariesdirectory.
  • Opens the pdfium-windows-x64 directory and parses the header files via CppSharp and generates PDFiumCore.cs in the current directory.
  • Copies the libraries and licenses into their respective src/PDFiumCore/runtimes directories.
  • Copies/Overrides src/PDFiumCore/PDFiumCore.cs with the newly generated PDFiumCore.cs.
PDFiumCoreBindingsGenerator Parameters

PDFiumCoreBindingsGenerator.exe requires the following parameters:

  • [0] Set to either a specific Github API release ID for the bblanchon/pdfium-binaries project or latest. This is to determine the release version and binary assets to download.
  • [1] Set to true to download the libraries and generate the bindings. Set to false to only download the libraries.
  • [2] Version to set the Version.Revision property to. This is used for building patches. Usually set to "0"

ToDo

  • Create an actual parser for the comments and generate functional C# method documentation.
  • Include documentation for more than just the public methods.
  • Investigate ARM builds for inclusion.

Resources

https://pdfium.googlesource.com/pdfium/

https://github.com/bblanchon/pdfium-binaries

https://github.com/mono/CppSharp

License

Matching the PDFium project, this project is released under Apache-2.0 License.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.