Some test text!

Loading...
Guides
.NET Core

.NET Core & Linux PDF library integration

This guide will help you run PDFTron samples and integrate a free trial of the PDFTron SDK into .NET Core applications on Linux. Your free trial includes unlimited trial usage and support from solution engineers.

Prerequisites

  • .NET Core SDK
    • Note: PDFTron SDK is multi-targeting. Target Frameworks : .NET Core 3.1+, .NET Standard 2.1, .NET 5.
  • PDFTron SDK for Linux:

Run PDFTron SDK in production
A commercial license key is required for use in a production environment. Please fill out our licensing form if you do not have a valid license key.
Keep your commercial license key confidential.
License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).

Initial setup

  1. Download the PDFTron SDK.
  2. Extract via tar xvzf PDFNetC64.tar.gz or tar xvzf PDFNetC.tar.gz.
  3. Get your PDFTron trial key.
Loading...

Run the samples

Run a specific sample

  1. Navigate to the CS folder in the sample you want to run(e.g. /Samples/AddImageTest/CS and execute
dotnet run

Run all samples

  1. Navigate to /Samples and make a new file named runall_dotnetcore.sh. Open up the file and paste the shell script from here into it.

  2. Next give yourself execute permissions by

chmod a+x runall_dotnetcore.sh

then run the script using:

./runall_dotnetcore.sh

The tests will run one by one.

Output files will be in /Samples/TestFiles/Output

Integrate into your application

This section will show you how to use our SDK to create a simple PDFTron "Hello World!" application. It will create a document with one blank page and save it as a linearized PDF in its running directory.

  1. Create a new project called myApp from the terminal:
dotnet new console -o myApp

This guide will assume your project is named myApp.

Integrate Manually

Integrate with NuGet for Linux (x64)

  1. From the PDFTron SDK, copy the /Lib/libPDFNetC.so, /Lib/libPDFNetC.so.(for example 6.10.2) and /Lib/PDFNetDotNetCore.dll to your myApp folder.

  2. Open myApp.csproj in your favorite text editor and add in your <Project> element:

    <ItemGroup>
      <Content Include="libPDFNetC.so">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      </Content>
    </ItemGroup>
    
    <ItemGroup>
      <Reference Include="PDFNetDotNetCore">
        <HintPath>PDFNetDotNetCore.dll</HintPath>
      </Reference>
    </ItemGroup>

    Your final myApp.csproj should look something like this:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.1</TargetFramework>
      </PropertyGroup>
    
      <ItemGroup>
        <Content Include="libPDFNetC.so">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
      </ItemGroup>
    
      <ItemGroup>
        <Reference Include="PDFNetDotNetCore">
          <HintPath>PDFNetDotNetCore.dll</HintPath>
        </Reference>
      </ItemGroup>
    </Project>

Next, you can edit Program.cs. 4. Open Program.cs in your favorite text editor and add the necessary headers:

```cs

using pdftron.Common;
using pdftron.PDF;
using pdftron.SDF;
```
  1. Initialize PDFNet in your main function:

    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        pdftron.PDFNet.Initialize();
    }
  2. Instantiate a new document with one blank page:

    using(PDFDoc doc = new PDFDoc()){
      Page page = doc.PageCreate();  // Start a new page
      doc.PagePushBack(page);  // Add page to document
    }

    Then save the document as a linearized PDF named output.pdf:

    doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized);  // Save document as a linearized PDF

    Your final program should look like this:

    using System;
    using pdftron.Common;
    using pdftron.PDF;
    using pdftron.SDF;
    
    namespace myApp
    {
        class Program
        {
          static void Main(string[] args)
          {
              Console.WriteLine("Hello World!");
              pdftron.PDFNet.Initialize(); // PDFNet must be initialized before accessing any PDFTron API
    
              using(PDFDoc doc = new PDFDoc()){
    
                Page page = doc.PageCreate();	// Start a new page
                doc.PagePushBack(page);       // Add page to document
                doc.Save("output.pdf", SDFDoc.SaveOptions.e_linearized); // Save document as a linearized PDF
    
              }
          }
        }
    }
  3. Now run the application by executing dotnet run. If all goes well, your console should output:

    PDFNet is running in demo mode.
    Permission: write
    Hello World!

Check the output.pdf that the program output in the same directory. It should be a PDF with one blank page.

Next step

Guides API docsSamples

Get the answers you need: Support

UPCOMING WEBINAR: "2021 in review: Top five new & updated features" Dec 9th @ 11am PT