Skip to content

DocNET is as fast PDF editing and reading library for modern .NET applications

License

Notifications You must be signed in to change notification settings

GowenGit/docnet

Repository files navigation

docNET

docnet

Master Build NuGet

Description

docnet aims to be a fast PDF editing and data extraction library. It is a .NET Standard 2.0 wrapper for PDFium C++ library that is used by chromium.

PDFium version: 5445

Supported platforms:

  • win
  • linux
  • osx

Features

  • Extract PDF version
  • Extract page count
  • Extract page information
    • Get page width
    • Get page height
    • Get page text
    • Get characters
    • Get character boundaries
    • Get character font sizes
    • Get character angle
    • Render page to image
  • Split PDF document
  • Merge PDF document
  • Unlock PDF document
  • Convert JPEG files to PDF

Examples

  • Render PDF page as PNG and display all character bounding boxes: example

    Render PDF page example

    Note: If you have issues running on Linux make sure that libgdiplus is installed since this example uses System.Drawing.Common.

  • Convert JPEG file to PDF: example

Usage

  • DocLib.Instance should be treated as a singleton that lives as long as your application. It should only be disposed when you intend to clean all unmanaged resources of PDFium.

.NET Framework Support

Newer versions of .NET Framework are also supported, Docnet.Core.targets tries to automatically find which version of the native PDFium binary to copy but that can sometime be unreliable especially if running on AnyCPU. You can manually specify DocnetRuntime property in your project file to influence which library version to copy. Allowed values are win-x64, win-x86, linux and osx.

Example below makes sure that we always copy x64 binary on windows:

  <PropertyGroup>
    <DocnetRuntime Condition=" '$([MSBuild]::IsOsPlatform(Windows))' ">win-x64</DocnetRuntime>
  </PropertyGroup>