ComPDFKit PDF SDK for Windows developed and maintained by ComPDF that allows developers to quickly add PDF Features to any Windows applications, elevating your Windows programs to ensure efficient development. It is available at NuGet and github.com.
More Information can be found at: https://www.compdf.com/guides/pdf-sdk/windows/overview
- ComPDFKit PDF SDK for Windows Documentation Guide
- ComPDF API Library for .Net
- Download ComPDFKit PDF SDK for .NET in NuGet
- How to Build a Windows PDF Viewer or Editor
- Code Samples for Windows
- ComPDF API Reference
- Windows 7, 8, 10, and 11 (32-bit and 64-bit).
- Visual Studio 2017 or higher (Make sure the .NET Desktop Development is installed).
- .NET Framework 4.5 or higher.
-
Open Visual Studio 2022, and click Create a new project.
-
Choose WPF App (.NET Framework) and click Next.
-
Configure your project: Set your project name and choose the location to store your program. The project name is called "ComPDFKit Demo" in this example. This sample project uses .NET Framework 4.6.1 as the programming framework.
- Click the Create button. Then, the new project will be created.
There are two ways to add ComPDFKit to your Project: Nuget Repository and Local Package, you can choose one or the other according to your needs.
Nuget Repository
- Open your project's solution, and in the Solution Explorer, right-click on References and click on the menu item Manage NuGet Packages. This will open the NuGet Package Manager for your solution.
-
Go to ComPDFKit.NetFramework in Nuget, and click on the Install button to install the package.
-
Once that is complete, you'll see a reference to the package in the Solution Explorer under References.
Local Package
Rather than targeting a package held at Nuget, you may set up a configuration to point to a local package. This can be useful for some situations, for example, your build machines don't have access to the internet.
-
You can find "ComPDFKit.NetFramework....nupkg" file in the SDK Package
-
Create or edit a "nuget.config" file in the same directory as your solution file (e.g. "ComPDFKit Demo.sln").
- The contents of the file should contain an XML element, packageSources - which describes where to find NuGet packages - as a child of a root node named configuration. If the file already exists, add the extra packageSources entry shown below. If the file is blank, copy and paste the entirety of the following contents:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="ComPDFKitSource" value="path\to\directoryContainingNupkg" />
</packageSources>
</configuration>
- Edit the value of the contents to correctly refer to the location of the directory containing the "ComPDFKit.NetFramework....nupkg" package - for example, C:\Users\me\nugetPackages. Now save the file, and close and reopen your solution for Visual Studio to force a read of the NuGet configuration.
-
Open your project's solution, and in the Solution Explorer, right-click on References and click on the menu item Manage NuGet Packages…. This will open the NuGet Package Manager for your solution.
-
On the right-hand side of the manager in the Package source dropdown window, choose the entry ComPDFKitSource (or whatever you decided to name it). You should then see the entry for "ComPDFKit.NetFramework".
-
On the right side, in the panel describing the package, click on the Install button to install the package.
-
Once that's complete, you'll see a reference to the package in the Solution Explorer under References.
You can contact the ComPDFKit team to obtain a trial license. Before using any classes from the ComPDFKit PDF SDK, you need to choose the corresponding scheme from the following two options based on the license type and apply the license to your application.
Online Authentication
You can perform online authentication using the following approach:
public static bool LicenseVerify()
{
if (!CPDFSDKVerifier.LoadNativeLibrary())
{
return false;
}
LicenseErrorCode status = CPDFSDKVerifier.OnlineLicenseVerify("Input your license here.");
return status == LicenseErrorCode.E_LICENSE_SUCCESS;
}
Additionally, if you need to confirm the communication status with the server during online authentication, you can implement the CPDFSDKVerifier.LicenseRefreshed
callback:
CPDFSDKVerifier.LicenseRefreshed += CPDFSDKVerifier_LicenseRefreshed;
private void CPDFSDKVerifier_LicenseRefreshed(object sender, ResponseModel e)
{
if(e != null)
{
string message = string.Format("{0} {1}", e.Code, e.Message);
Trace.WriteLine(message);
}
else
{
Trace.WriteLine("Network not connected.");
}
}
Offline Authentication
The following is the LicenseVerify()
method for implementing offline authentication:
bool LicenseVerify()
{
if (!CPDFSDKVerifier.LoadNativeLibrary())
return false;
LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("Input your license here.", false);
return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
}
We have finished all prepare steps. Let's display a PDF file.
-
Add the following code to "MainWindow.xaml" and "MainWindow.xaml.cs" to display a PDF document. Please make sure to replace "ComPDFKit_Demo" with the name of your project. Now, all you need to do is to create a
CPDFViewer
object, and then display theCPDFViewer
object in the Grid (component) named "PDFGrid" using theOpenPDF_Click
method. -
Now your "MainWindow.xaml" should look like the following code.
<Window x:Class="ComPDFKit_Demo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ComPDFKit_Demo"
xmlns:compdfkitviewer="clr-namespace:ComPDFKitViewer;assembly=ComPDFKit.Viewer"
mc:Ignorable="d"
Focusable="True"
Title="MainWindow" Height="600" Width="800" UseLayoutRounding="True">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="52"/>
</Grid.RowDefinitions>
<Grid Name="PDFGrid" Grid.Row="0">
<ScrollViewer Focusable="False" CanContentScroll="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<compdfkitviewer:CPDFViewer x:Name="PDFViewer"/>
</ScrollViewer>
</Grid>
<Button Content="Open PDF" Grid.Row="1" HorizontalAlignment="Left" Margin="10" Click="OpenPDF_Click"/>
</Grid>
</Window>
- Now your “MainWindow.xaml.cs” should look like the following code. Please note: You need to enter your license key. All the places that need to be modified in the code have been marked with comments in the code below. You just need to replace the string content below the comments by yourself.
using ComPDFKit.NativeMethod;
using ComPDFKit.PDFDocument;
using Microsoft.Win32;
using System.Windows;
namespace ComPDFKit_Demo
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
LicenseVerify();
}
bool LicenseVerify()
{
if (!CPDFSDKVerifier.LoadNativeLibrary())
return false;
// Input your license.
LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("Input your license here.");
return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
}
private void OpenPDF_Click(object sender, RoutedEventArgs e)
{
// Get the path of a PDF file.
var dlg = new OpenFileDialog();
dlg.Filter = "PDF Files (*.pdf)|*.pdf";
if (dlg.ShowDialog() == true)
{
// Use the PDF file path to open the document in CPDFViewer.
CPDFDocument doc = CPDFDocument.InitWithFilePath(dlg.FileName);
if (doc != null && doc.ErrorType == CPDFDocumentError.CPDFDocumentErrorSuccess)
PDFViewer.InitDoc(doc);
}
}
}
}
- Now run the project and you will see the PDF file that you want to display. The PDF Viewer has been created successfully.
- License Verification Failed
- If "System.IO.FileNotFoundException" occurred in the
LicenseVerify()
function like this:
- Check your WPF project and ensure that you chose WPF App(.NET Framework) instead of WPF Application when creating the project.
-
Other Problems
If you meet some other problems when integrating our ComPDFKit PDF SDK for Windows, feel free to contact our support team.
ComPDF offers professional technical support and 5*24 responsive service.
-
For detailed information, please visit our Guides page.
-
Stay updated with the latest improvements through our Changelog.
-
For technical assistance, please reach out to our Technical Support.
-
To get more details and an accurate quote, please contact our Sales Team or Send an Email to us.
ComPDF offers developers a 30-day free trial license for free testing your Windows projects. Additionally, you'll have access to a fully-featured product with no limitations on file or user count.
We are glad to announce that you can register a ComPDFKit API account for a free trial to process 1000 documents per month for free.