小白入门级-基于C#在Windows平台使用ComPDFKit 开发PDF阅读器

小白入门级-基于C#在Windows平台使用ComPDFKit 开发PDF阅读器

前言

随着对处理 PDF 文档的需求不断攀升, 把ComPDFKit PDF 查看和编辑功能无缝融入您的 Windows 应用程序或系统中,将为您的用户带来非凡的体验。

我们将首先一同探索集成 ComPDFKit PDF SDK 所需的关键步骤,随后利用 ComPDFKit 构建出一个出色的 Windows PDF 阅读器器。无论您是想增强现有应用的功能,还是打造全新的 PDF 处理工具,本文都将为您提供清晰的指导,助您在 Windows 平台上实现卓越的 PDF 处理体验。让我们一同踏上这个令人兴奋的旅程吧!

在旅途开始之前,您需要进行试用申请获取许可密钥,除此之外还给您提供了产品介绍和开发文档:

试用申请:Contact Sales | ComPDFKit

产品介绍:All Platforms & Fast Setup | ComPDFKit

开发文档:Windows PDF Library—Viewer, Annotations, Forms, Security, and More | ComPDFKit | ComPDFKit

步骤1:搭建环境

首先,您需要下载Visual Studio 2017,或者更高版本,点击“创建新项目”

image.png

然后,选择WPF应用程序(.NET Framework)然后点击“下一步”。

image.png

配置项目:设置项目名称并选择存储程序的位置。例如,我们取项目名称为“ComPDFKit Demo”,使用.NET Framework 4.7.2作为编程框架,点击“创建”按钮,新项目将被创建。

image.png

步骤2:软件开发包集成

您可以通过Nuget集成和两种方法可以添加ComPDFKit到您的项目中,您可以选择适合您需求的方法:

方法1:通过NuGet集成

1.1通过NuGet集成-在线集成

在解决方案资源管理器中,右键单击“引用”,点击“Manage NuGet Packeages…”。

image.png

搜索“ComPDFKit.NetFramework”,在nuget.org上找到这个软件包,这里要注意,同一个名称的安装包有很多,在选软件包时注意对比软件包图标是否和下图一致。

image.png

点击安装按钮,如下图

image.png

点击安装按钮后,会出现一个提示弹窗,点击确认即可继续安装

image.png

安装成功后,可以看到软件包图标右下角有一个绿色对勾标识

image.png

1.2通过NuGet集成-离线集成

除了针对 nuget.org 上的包,您可以设置一个配置来指向本地包。这样在离线状态也能下载软件包了。

首先,您可以从试用申请通过后,获取到的SDK 包中找到 "ComPDFKit.NetFramework....nupkg" 文件。

image.png

将这个文件复制到您新建的项目文件夹下。

image.png

在与您的解决方案文件相同的目录中创建一个 "nuget.config" 文件(例如,"ComPDFKitDemo.sln")。

image.png

在新建的"nuget.config" 文件中填入内容,请复制并粘贴以下内容的全部内容:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<packageSources>

<add key="ComPDFKitSource" value="path\to\directoryContainingNupkg" />

</packageSources>

</configuration>

复制完成后,您需要修改上面代码中的value,将此时引用包含 "ComPDFKit.NetFramework....nupkg" 包的目录位置 — 例如,我上图例子中的路径”\Users\User-103\source\repos\ComPDFKit Demo“替换现有的value值。这里可以直接复制文件夹路径粘贴过来

现在保存文件,并关闭并重新打开解决方案以强制 Visual Studio 读取 NuGet 配置。

image.png

打开项目的解决方案,在解决方案资源管理器中,右键单击“引用”,然后点击“Manage NuGet Packages...”。这将会打开解决方案的 NuGet 程序包管理器。

image.png

在管理器的右侧,包源下拉窗口中,选择条目 ComPDFKitSource(或您决定的任何名称)。

image.png

这里要注意一下,在选择包源之前最好进入包源设置,取消勾选其他包源,这样可以避免在加载包源的时候收到干扰。

image.png

输入软件包名称,软件会出现在下方软件包栏。

这里要注意,同一个名称的软件包有很多,要认准下图软件包图标,选择下载

image.png

在右侧,面板中描述该程序包,点击“安装”按钮以安装该程序包。

image.png

点击安装按钮后,会出现提示弹窗,点击确认即可继续安装。

image.png

安装成功后,软件包图标右下角就会有一个绿色的对勾标识。

image.png

方法2:手动集成软件开发包-适用于离线状态

从您获取到的ComPDFKit中,将下面四个文件复制到您新建项目的ComPDFKit Demo文件夹下(若您新建项目是命名其他内容那就选在对应文件夹下)。

复制下图四个文件。

image.png

粘贴到您新建的文件夹内,完成后您的文件夹应该是这样。

image.png

然后进入visual studio,单击 "解决方案资源管理器 "菜单中的 "显示所有文件 "按钮。

image.png

将两个文件包含到项目中。

image.png

除此之外,下图两个文件也要进行包含到项目中的操作,操作步骤可见上图。

image.png

操作完成后,您可以看到。

image.png

然后新增引用。

image.png

将x64 x86文件夹里面的两个ComPDFKit.dll添加到引用管理器浏览模块。

image.png

添加成功后,您可以看到下图画面。

image.png

添加成功后,点击确认按钮,进入下一步操作。

image.png

然后将两个dll文件的属性均修改进行修改,先进入属性窗口。

image.png

将复制到输出目录的值修改为:如果较新则复制,如下图,设置完这一步,就完成了整个手动集成软件开发包的全部步骤啦。

image.png

步骤3:代码写入

您已经做好了环境准备工作,现在让我们修改示例代码来显示一个PDF文件吧!

1.示例代码修改

在“MainWindow.xaml”和“MainWindow.xaml.cs”中,添加以下代码段。

“MainWindow.xaml”中添加下列代码

<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"

mc:Ignorable="d"

Title="MainWindow" Height="450" Width="800" UseLayoutRounding="True">

<Grid>

<Grid.RowDefinitions>

<RowDefinition Height="*"/>

<RowDefinition Height="52"/>

</Grid.RowDefinitions>

<Grid Name="PDFGrid" Grid.Row="0" />

<Button Content="Open PDF" Grid.Row="1" HorizontalAlignment="Left" Margin="10" Click="OpenPDF_Click"/>

</Grid>

</Window>

示例如下图:

image.png

“MainWindow.xaml.cs”中添加下列代码

using ComPDFKit.NativeMethod;

using ComPDFKit.PDFDocument;

using ComPDFKitViewer.PdfViewer;

using Microsoft.Win32;

using System.Windows;

namespace ComPDFKit_Demo

{

public partial class MainWindow : Window

{

public MainWindow()

{

InitializeComponent();

LicenseVerify();

}

bool LicenseVerify()

{

bool result = CPDFSDKVerifier.LoadNativeLibrary();

if (!result)

return false;

// You should fill in your key and secret into the string below.

string key = "Input your key instead of this string";

string secret = "Input your secret instead of this string";

LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify(key, secret);

if (verifyResult != LicenseErrorCode.LICENSE_ERR_SUCCESS)

return false;

return true;

}

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.

CPDFViewer pdfViewer = new CPDFViewer();

pdfViewer.InitDocument(dlg.FileName);

if (pdfViewer.Document != null &&

pdfViewer.Document.ErrorType == CPDFDocumentError.CPDFDocumentErrorSuccess)

{

pdfViewer.Load();

PDFGrid.Children.Add(pdfViewer);

}

}

}

}

}

示例如图:

image.png

这里要注意,这里需要通过开头提到的试用链接中获得,试用申请通过后,官方会免费给到您试用Demo和许可密钥。

image.png

打开上图xml文件,将密钥替换掉代码中key和secret的值。

image.png

2.代码显示

到这里,我们已经搭建好环境也修改好示例代码啦,只需要点击启动按钮就能查看代码运行效果啦。

image.png

总结

只需三个简单步骤,您就可以轻松集成全新的应用程序。然而,ComPDFKit的实际功能远不仅限于此。除了提供简便的集成,它还拥有广泛的PDF功能,包括阅读、导航、注释、格式转换、表单处理、安全保护、文档编辑以及页面编辑等。这款PDF SDK具备高度的界面定制化能力,您可以根据个人需求随意调整软件的风格。当然,这仅仅是功能的一部分。

如果您渴望体验更多的强大功能,现在就申请试用吧!我们将为您提供详尽的技术文档和试用Demo,让您深入了解ComPDFKit所能带来的无限可能。期待与您的合作!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,923评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,154评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,775评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,960评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,976评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,972评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,893评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,709评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,159评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,400评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,552评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,265评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,876评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,528评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,701评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,552评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,451评论 2 352

推荐阅读更多精彩内容