Manually integrating PDFNetC PDF library for UWP

This SDK is made for those developing UWP apps and require a pure C++ PDF SDK that only uses the allowed Win32 and COM API's to pass the Windows App Certification in order to be published on Microsoft Store.

This guide will help you run Apryse samples and integrate a free trial of the Apryse SDK into C++ applications on Windows. Your free trial includes full support from solution engineers..

Prerequisites

  • Visual StudioMake sure that the Desktop development with C++ workload is part of your installation.This guide will use Visual Studio 2019 and the x64-bit SDK version.
  • Apryse's PDF library for UWP:

Download the SDK

download C/C++ (64-bit) for UWP

Download the SDK

download C/C++ (ARM64) for UWP

No trial license key required.

The trial of Apryse Mobile SDK does not require a trial key. A commercial license key is required for use in a production environment. Please contact sales to purchase a commercial key or if you need any other license key assistance.

Keep your license keys confidential.

License keys are uniquely generated. Please make sure that it is not publicly available (e.g. in your public GitHub).

Initial setup

Extract the folder from the .zip file.

This article uses PDFNET_BASE as the path into the PDFNetC folder that you extracted.

sh

1PDFNET_BASE = path/to/extraction/folder/PDFNetC64UWP/

Run the samples

Navigate to the location of extracted contents. Find and enter the Samples folder (PDFNET_BASE/Samples). Here you can find sample code for a large number of features supported by the Apryse SDK.

Find Samples_VC20XX.sln inside the Samples folder and open it with Visual Studio. Choose the appropriate solution based on your Visual Studio installation.

Run a specific sample

  1. Find the sample you want to run and set it as the Startup project.If you're running into issues, see the Troubleshooting section.
  2. Run the project.

Run all samples

  1. Make sure that the target type for the debugger is set to the right type for your machine and your Apryse SDK Download. Click on Local Windows Debugger to run all the samples.

Apryse Docs Image

Note: For ARM64 target it will be necessary to setup the Remote Debugger.

Integrate into your application

This section will help you build the "Apryse Hello World" application. It is easy to integrate the rest of Apryse SDK if you are able to open, save and close a PDFDoc.

Before writing the application, some dependencies needed to be with Visual Studio.

  1. Create a new C++ Console Project for Windows called myapp
  2. Add PDFNET_BASE\Lib\PDFNetC.lib to Additional Dependencies under Librarian
  3. Add PDFNET_BASE\Headers to the project's Additional Include Directories in the C/C++ General Settings.
  4. Copy the PDFNET_BASE\Lib\PDFNetC.dll file to the project's output directory. Verify that the right version of PDFNetC.dll was added from the path used to add the reference.

The Troubleshooting section has more detailed instructions for newcomers to Visual Studio.

The Code

Replace the contents of myapp.cpp with:

sh

1``` cpp
2
3#include <iostream>
4
5// Important for PDF related manipulations
6#include <PDF/PDFNet.h>
7#include <PDF/PDFDoc.h>
8
9// Important for document filesystem interaction and more
10#include <SDF/ObjSet.h>
11
12using namespace pdftron;
13using namespace PDF;
14using namespace SDF;
15
16
17int main()
18{
19 try
20 {
21 // This is required before any Apryse related
22 // classes and methods can be properly used
23 PDFNet::Initialize();
24
25 PDFDoc doc;
26
27 // Create a new page and push it into
28 // the page sequence of the document.
29 Page page = doc.PageCreate();
30 doc.PagePushBack(page);
31
32 // Save the document as a linearized PDF which is the most
33 // popular and effective fast viewing format
34 doc.Save("linearized_output.pdf", SDFDoc::e_linearized);
35 }
36 catch (pdftron::Common::Exception& ex)
37 {
38 std::cout << ex.GetMessage() << std::endl;
39 }
40 return 0;
41}
42```

You can use the Local Windows Debugger button to build the solution and run the main function when targeting x64.

Once the code has been run, you can find a new document called linearized_output.pdf in the output directory of your project.

Troubleshooting

Trouble setting dependencies
Set dependencies for the Apryse SDK in a startup project with Visual Studio.

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales