# ComPDFKit PDF SDK Windows
**Repository Path**: ComPDFKit/com-pdfkit-pdf-sdk-windows
## Basic Information
- **Project Name**: ComPDFKit PDF SDK Windows
- **Description**: ComPDFKit Windows平台实现PDF技术的相关发布
- **Primary Language**: C#
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://www.compdf.com/?utm_source=platform_code_gitee&utm_medium=platform_code_gitee&utm_campaign=outer_chain
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2023-03-20
- **Last Updated**: 2024-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 简介
[ComPDFKit PDF SDK](https://www.compdf.com/zh-cn)是一个强大的 PDF 库,提供全面的功能,可快速查看、注释、编辑和签名 PDF。它功能丰富且久经考验,使 PDF 文件处理和操作更加轻松快捷。
[ComPDFKit for Windows](https://www.compdf.com/windows)可让您快速将 PDF 功能添加到任何 Windows 应用程序,从而提升您的 Windows 程序的开发效率。它可在[nuget](https://www.nuget.org/packages/ComPDFKit.NetFramework)和[github.com](https://github.com/ComPDFKit/compdfkit-pdf-sdk-windows)上获取。
# 相关链接
* [适用于 .Net 的 ComPDFKit API 库](https://github.com/ComPDFKit/compdfkit-api-.net)
* 在 Nuget 中下载[适用于 .NET 的 ComPDFKit PDF SDK](https://www.nuget.org/packages/ComPDFKit.NetFramework)
* [如何构建 Windows PDF 查看器或编辑器](https://www.compdf.com/blog/build-a-windows-pdf-viewer-or-editor)
* [ComPDFKit for Windows 简介](https://www.compdf.com/blog/compdfkit-for-windows)
# 开始集成
只需几行 C# 代码即可轻松将 ComPDFKit PDF SDK 嵌入到 Windows 应用程序中。以下部分介绍了要求、安装包的结构以及如何使用 ComPDFKit PDF SDK 在 C# 中制作 Windows PDF 阅读器。跟着下面的步骤开始集成吧!有问题可以随时[联系ComPDFKit团队](https://www.compdf.com/zh-cn/contact-sales)!
## 要求
* Windows 7、8、10 和 11(32 位和 64 位)。
* Visual Studio 2017 或更高版本(确保已安装 **.NET Desktop Development**)。
* .NET Framework 4.5 或更高版本。
## 如何运行ComPDFKit Windows Demo
[ComPDFKit PDF SDK for Windows](https://www.compdf.com/zh-cn/guides/pdf-sdk/windows/overview)提供了多个 C# 演示,供开发人员学习如何在 Windows 上调用 SDK。您可以在 ***"Examples"*** 文件夹中找到它们。
在本指南中,我们以 **“PDFViewer”** 为例,展示如何在 Visual Studio 2022 中运行它。
1. 将您的 ***"license_key_windows.xml"*** 复制到 ***"Examples"*** 文件夹(该文件是使您的项目运行的许可证)。
2. 在 **“Examples”** 文件夹中找到 **“Examples.sln”** ,并在 Visual Studio 2022 中打开它。

3. 选择 **"PDFViewer"**,然后右键单击设置它为启动项目。

4. 运行项目,然后您可以打开多功能的 *"PDFViewer"* demo。

**注:** *这是一个演示项目,展示了完整的 [ComPDFKit PDF SDK](https://www.compdf.com/pdf-sdk) 功能。实际功能可能因您购买的许可证而有所不同。请确保您在此演示项目中选择的功能正常工作。*
## 如何用 C# 编写 Windows 程序
### 创建新项目
1. 打开 Visual Studio 2022,点击**Create a new project**。

2. 选择 **WPF App (.NET Framework)** 并点击 **Next**。

3. 配置您的项目:设置项目名称并选择存储程序的位置。在本例中,项目名称为"ComPDFKit Demo"。此示例项目使用 .NET Framework 4.6.1 作为编程框架。

4. 点击 **Create** 按钮。然后,新项目将被创建。
### 将ComPDFKit添加到您的项目中
有两种将 ComPDFKit 添加到您的项目中的方式:[Nuget Repository](https://www.nuget.org/packages/ComPDFKit.NetFramework) 和 Local Package。您可以根据需要选择。
**Nuget Repository**
1. 打开您的项目解决方案,在解决方案资源管理器中,右键点击 **References**,然后点击菜单项**Manage NuGet Packages…**。这将打开解决方案的 NuGet 包管理器。

2. 在Nuget上获取 [ComPDFKit.NetFramework](https://www.nuget.org/packages/ComPDFKit.NetFramework), 点击**Install** 按钮以安装软件包。

3. 一旦安装完成,您将在解决方案资源管理器的 **References** 下看到对该软件包的引用。

**Local Package**
您可以设置一个配置来指向本地的软件包。这在某些情况下可能很有用,比如您的设备无法访问互联网时。
1. 您可以在 [SDK 包](https://github.com/ComPDFKit/compdfkit-pdf-sdk-windows/tree/Tutorials-Blog/ComPDFKit%201.11.0%20for%20Windows/nuget) 中找到 **"ComPDFKit.NetFramework....nupkg"** 文件。
2. 在与您的解决方案文件(例如 **"ComPDFKit Demo.sln"**)相同的目录中创建或编辑一个 **"nuget.config"** 文件。

* 文件的内容应该包含一个XML元素 `packageSources`,它描述了在哪里查找 NuGet 软件包,作为名为 `configuration` 的根节点的子节点。如果文件已经存在,请添加下面显示的额外 `packageSources` 条目。如果文件是空白的,请复制并粘贴以下全部内容:
* 编辑内容中的 `value`,以正确地引用包含 **"ComPDFKit.NetFramework....nupkg"** 软件包的目录位置,例如 **C:\Users\me\nugetPackages**。保存文件,然后关闭并重新打开您的解决方案,以便使 Visual Studio 强制读取 NuGet 配置。
3. 打开您的项目解决方案,在解决方案资源管理器中,右键点击**References**,然后点击菜单项 **Manage NuGet Packages…**。这将打开解决方案的 NuGet 包管理器。

4. 在管理器的右侧,在“包源”下拉窗口中,选择条目`ComPDFKitSource`(或您决定的任何其他名称)。然后,您应该会看到 **"ComPDFKit.NetFramework"** 的条目。

5. 在右侧,点击描述该软件包的面板上的 **Install** 按钮以安装该软件包。

6. 一旦完成,您将在解决方案资源管理器的 **References** 下看到对该软件包的引用。

### 添加许可证密钥
您可以[联系ComPDFKit团队](https://www.compdf.com/zh-cn/contact-sales)获取试用许可证。在使用任何ComPDFKit PDF SDK类之前,必须执行的操作是设置许可证密钥。在 **“MainWindow.xaml.cs”** 中添加以下方法 — **LicenseVerify()。**
**在线认证**
您可以通过以下方式进行在线认证:
public static bool LicenseVerify()
{
if (!CPDFSDKVerifier.LoadNativeLibrary())
{
return false;
}
LicenseErrorCode status = CPDFSDKVerifier.OnlineLicenseVerify("Input your license here.");
return status == LicenseErrorCode.E_LICENSE_SUCCESS;
}
此外,如果您需要确认当前在线认证时与服务器的通信状态,可以通过实现`CPDFSDKVerifier.LicenseRefreshed`回调:
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.");
}
}
**离线认证**
以下是`LicenseVerify()`方式进行的离线认证方式:
bool LicenseVerify()
{
if (!CPDFSDKVerifier.LoadNativeLibrary())
return false;
LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("Input your license here.", false);
return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
}
### 显示PDF文档[](https://www.compdf.com/zh-cn/guides/pdf-sdk/windows/make-a-program#%E6%98%BE%E7%A4%BApdf%E6%96%87%E6%A1%A3)
我们已经完成了所有的准备步骤。
在 **“MainWindow.xaml”** 和 **“MainWindow.xaml.cs”** 中添加以下代码来显示一个PDF文档。请确保将 "ComPDFKit_Demo" 替换为您项目的名称。现在,您只需要创建一个 `CPDFViewer` 对象,然后使用`OpenPDF_Click`方法将 `CPDFViewer` 对象显示在名为“PDFGrid”的 Grid(组件)中。
现在您的 **"MainWindow.xaml"** 应该如下所示:
现在您的 **“MainWindow.xaml.cs”** 应该如下所示。请注意:您需要输入您的许可证密钥。代码中所有需要修改的修改的地方都已在下面的代码中用代码注释标记出来。您只需要根据注释下面的字符串提示,进行内容替换。
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);
}
}
}
}
现在运行项目,您将看到您想要显示的PDF文件。PDF阅读器已经成功创建。

### 故障排除
1. 当许可证验证失败
* 如果函数中出现“System.IO.FileNotFoundException”, `LicenseVerify()` 显示如下时:

检查您的 WPF 项目并确保在创建项目时选择了**WPF App(.NET Framework)**而不是**WPF Application 。**

2. 其他问题如果您在集成我们的 Windows 版 ComPDFKit PDF SDK 时遇到其他问题,请随时联系[我们的支持团队](https://www.compdf.com/support)。
# 示例
Samples 为每个功能都使用预设的参数和文档来调用[ComPDFKit 的 API,](https://api.compdf.com/)无需 UI 交互或参数设置。它们不仅演示了每个功能的最佳实践,还提供了详细的介绍。在输出目录中可以观察到每个功能对 PDF 文档的影响。借助 Samples,您可以快速学会如何使用所需的功能并将其应用到您的项目中。
您可以在我们的网站上获取[适用于 Windows 的代码示例](https://www.compdf.com/guides/pdf-sdk/windows/examples)。要了解有关 ComPDFKit API 的更多信息,请访问我们的[API 参考](https://developers.compdf.com/guides/pdf-sdk/windows/api-reference/index)。
# 支持
ComPDFKit 拥有专业的研发团队、全面的技术文档和指南来帮助开发人员。此外,当您向我们的技术团队发送问题时,我们会立即回复您。
* 详细的集成指南,请访问我们的[指南](https://www.compdf.com/guides/pdf-sdk/windows/overview)页面。
* [通过我们的变更](https://www.compdf.com/pdf-sdk/changelog-windows)日志了解最新改进。
* 如需技术支持,请联系我们的[技术支持](https://www.compdf.com/support)。
* 如需获取更多详细信息和准确报价,请联系我们的[销售团队](https://compdf.com/contact-us)。
# 许可证
ComPDFKit PDF SDK 支持灵活的许可选项,请联系[我们的销售团队](mailto:support@compdf.com)了解更多信息。每个许可证在开发模式下仅对一个应用程序 ID 有效。但是,禁止将 ComPDFKit PDF SDK 发布包中的任何文档、示例代码或源代码分发给任何第三方。
# 免费试用
我们很高兴地宣布,您可以注册一个 ComPDFKit API 帐户进行[免费试用](https://api.compdf.com/api/pricing),每月免费处理 1000 份文档。
# 官方链接
* [中文官网](https://gitee.com/link?target=https%3A%2F%2Fwww.compdf.com%2Fzh-cn%3Futm_source%3Dplatform_code_gitee%26utm_medium%3Dplatform_code_gitee%26utm_campaign%3Douter_chain):[https://www.compdf.com/zh-cn](https://gitee.com/link?target=https%3A%2F%2Fwww.compdf.com%2Fzh-cn%25E2%2580%258B%25E2%2580%258B)
* [英文官网](https://gitee.com/link?target=https%3A%2F%2Fwww.compdf.com%2F%3Futm_source%3Dplatform_code_gitee%26utm_medium%3Dplatform_code_gitee%26utm_campaign%3Douter_chain):[https://www.compdf.com/](https://gitee.com/link?target=https%3A%2F%2Fwww.compdf.com%2F%25E2%2580%258B%25E2%2580%258B)
* 领英页面:[https://www.linkedin.com/company/pdf-technologies-pte-ltd/](https://gitee.com/link?target=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fpdf-technologies-pte-ltd%2F%25E2%2580%258B%25E2%2580%258B%25E2%2580%258B)
* Twitter: [https://twitter.com/compdfkit](https://gitee.com/link?target=https%3A%2F%2Ftwitter.com%2Fcompdfkit%25E2%2580%258B%25E2%2580%258B%25E2%2580%258B)
* Facebook: [https://www.facebook.com/profile.php?id=100085132077341](https://gitee.com/link?target=https%3A%2F%2Fwww.facebook.com%2Fprofile.php%3Fid%3D100085132077341%25E2%2580%258B)