ComPDFKit PDF SDK 为需要在 iOS 和 macOS 上快速查看、标注、编辑和创建 PDF 文件的开发人员提供强大的 Swift API 和强大的 PDF 库。它功能丰富且经过实战检验,使 iOS 和 macOS 设备处理和操纵 PDF 文件更容易、更快。
ComPDFKit API 使您现在每月可处理 1000 个文件!只需免费注册试用,即可享受全面的 PDF 功能。
-
ComPDFKit PDF SDK - Flutter 库
-
ComPDFKit PDF SDK - React Native 库
通过几行 Swift 代码即可轻松在您的 iOS/macOS 应用中嵌入 ComPDFKit。只需几分钟即可开始。
以下章节介绍了构建 iOS/macOS 应用的要求、如何在 Xcode 中运行演示以及如何使用 ComPDFKit iOS PDF SDK 以 Swift 语言实现它。
ComPDFKit PDF SDK for iOS 需要发布的 Xcode 的最新稳定版本。这是一个硬性要求,因为每一个版本的 Xcode 都包含一个特定版本的 iOS Base SDK,这通常定义了 UIKit 和各种其他框架的行为。
- iOS 10.0 或更高版本。
- Objective-C 或 Swift 需要 Xcode 13.0 或更新的版本。
ComPDFKit PDF SDK for iOS 为开发人员提供多个 Swift 演示,以便学习如何在 iOS 或 macOS 上调用 SDK。您可以在 "Examples" 文件夹中找到它们。
在本指南中,我们以 "PDFViewer" 为例,说明如何在 Xcode 中运行它(Swift 演示使用 "xcworkspace" 方法,因此您可以直接打开 "PDFViewer.xcworkspace")。
-
将应用好的 "license_key_ios.xml" 文件复制到 "Examples" 文件夹中替换(演示中已经有解析 xml 文件的方法,请勿修改存储位置和文件名)。
-
在 "Examples" 文件夹中找到 "PDFViewer.xcworkspace",双击打开它,找到 Xcode 中的 "PDFViewer" 方案,并选择相应的模拟器(ComPDFKit 不支持模拟器运行 M1 芯片,但我们已在
Excluded Architectures
中实现兼容性,您可以在 "Troubleshooting" 中看到处理方法)。
单击 产品 -> 运行 以在 iOS/macOS 设备上运行演示。在本指南中,我们以 iPhone 14 设备为例。成功构建演示后,将打开并显示 "PDF32000_2008.pdf" 文件。
注意: 这是一个演示项目,展示了完成ComPDFKit PDF SDK的功能。这些功能可能会根据您购买的许可证不同而有所不同。请检查您选择的功能是否在该演示项目中运行正常。
本节将指导您如何快速开始使用ComPDFKit PDF SDK,通过分步说明来制作iOS/macOS应用,包括以下步骤
- 使用Swift创建一个新的iOS/macOS项目。
- 将ComPDFKit集成到您的应用中。
- 应用许可证密钥。
- 显示PDF文档。
在本指南中,我们使用Xcode 12.4来创建一个新的iOS项目。
- 启动Xcode,选择文件 -> 新建 -> 项目...,然后选择iOS -> 单视图应用。点击下一步。
- 选择您新项目选项。请确保选择Swift作为编程语言。然后,点击下一步。
- 将项目放置在您期望的位置。然后,点击创建。
要将动态xcframework "ComPDFKit.xcframework"添加到"PDFViewer"项目中,请按照以下步骤操作
-
右键点击"PDFViewer"项目,选择将文件添加到"PDFViewer"...。
-
在下载包中找到并选择"ComPDFKit.xcframework",然后点击添加。
注意: 请确保勾选“如果需要则复制项目”选项。
-
然后,"PDFViewer"项目将看起来如下所示的图片。
-
将动态xcframework "ComPDFKit.xcframework"添加到Xcode的嵌入的二进制文件。左键点击项目,在通用标签中找到嵌入 & 签名。
-
对于Xcode的早期版本(如Xcode 13),默认可能已开启Bitcode选项,这需要在运行前将其关闭。具体步骤如图所示。
联系ComPDFKit的销售团队获取免费许可证以测试此项目。
-
将头文件"ComPDFKit"导入到
AppDelegate.swift
。 -
许可证初始化
在线许可证
按照以下代码示例调用方法
CPDFKit.verify(withOnlineLicense: "YOUR_LICENSE_KEY_GOES_HERE") { code, message in}
在func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
中。您需要将LICENSE_KEY替换为您获得的许可证。func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Set your online license key here. ComPDFKit is commercial software. // Each ComPDFKit license is bound to a specific app bundle id. // com.compdfkit.pdfviewe CPDFKit.verify(withOnlineLicense: "YOUR_LICENSE_KEY_GOES_HERE") { code, message in } }
离线许可证
按照以下代码示例调用方法
CPDFKit.verifyWithKey:"LICENSE_SECRET"
在func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
中。您需要将LICENSE_KEY替换为您获得的许可证。func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Set your license key here. ComPDFKit is commercial software. // Each ComPDFKit license is bound to a specific app bundle id. // com.compdfkit.pdfviewer CPDFKit.verify(withKey: "YOUR_LICENSE_KEY_GOES_HERE") return true }
-
编译并运行项目。如果控制台输出“版本信息”,则意味着许可证设置成功。否则,请检查“故障排除”或检查控制台中的错误日志以便快速识别和解决问题。
到目前为止,我们已经将"ComPDFKit.xcframework"添加到"PDFViewer"项目中并完成了ComPDFKit PDF SDK的初始化。现在,让我们用几行代码构建一个简单的PDF查看器。
-
准备一个测试PDF文件,并将其拖放到新创建的PDFView项目中。这样,您就可以使用
NSBundle
加载并预览本地PDF文档。以下是将名为“Online5”的PDF文档导入项目的示例图片。 -
在
UIViewController.swift
子类实现顶部导入ComPDFKit
import ComPDFKit
-
通过NSURL创建一个
CPDFDocument
对象,并创建一个CPDFView
来显示它。以下代码展示了如何使用本地PDF路径加载PDF数据并通过CPDFView
显示它。guard let filePath = Bundle.main.path(forResource: "Online5", ofType: "pdf") else { return } let url = URL(fileURLWithPath: filePath) let document = CPDFDocument(url: url) let rect = self.view.bounds let pdfView = CPDFView(frame: self.view.bounds) pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight] pdfView.document = document
-
将创建的
CPDFView
添加到当前控制器的视图中。以下示例代码。self.view.addSubview(pdfView)
-
此处显示的代码是上述步骤的集合
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) guard let filePath = Bundle.main.path(forResource: "Online5", ofType: "pdf") else { return } let url = URL(fileURLWithPath: filePath) let document = CPDFDocument(url: url) let rect = self.view.bounds let pdfView = CPDFView(frame: self.view.bounds) pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight] pdfView.document = document self.view.addSubview(pdfView) }
-
连接您的设备或模拟器,并使用快捷键Command_R来运行App。PDF文件将被打开并显示。
-
位代码
即使所有配置都正确,仍然可能存在编译错误。首先,检查位代码是否已禁用。在较早版本的Xcode(如Xcode 13)中,位代码选项可能默认启用。需要将其设置为否才能运行应用。
-
许可证
如果在许可证设置过程中发生错误,请确保在通用中设置的Identity(包ID)与您联系我们申请许可证时提供的Bundle ID匹配。如果出现许可证已过期的消息,请联系ComPDFKit团队以获取最新的许可证和密钥。
-
无法在i386架构模拟器上运行
12.5版Xcode或更高版本不支持i386模拟器。Apple在切换到ARM处理器后弃用了i386,并且不再维护i386架构模拟器。请使用ARM模拟器或x86_64架构模拟器来测试和开发您的程序。
因此,您需要在
中 排除的架构中搜索,然后双击它。将弹出一个窗口,点击下面的加号(如图所示)以添加 。 -
没有显示PDF
请检查我们传递的路径中是否需要特殊编码,或我们传递的本地路径是否存在。
-
其他问题
如果您在将我们的ComPDFKit PDF SDK for iOS集成到项目中时遇到其他问题,请随时联系ComPDFKit的支持团队。
在示例文件夹中有许多示例,展示了ComPDFKit API的主要功能以及如何使用它们,例如将水印、注释、表单等添加到PDF中。您可以将代码复制到项目中并直接运行。或者,您可以得到我们的iOS代码示例。要了解更多关于ComPDFKit API的信息,请访问我们的API参考。
ComPDFKit有一个专业的研发团队,他们生产全面的技術文档和指南来帮助开发者。此外,在向我们的支持团队报告问题时,您将立即得到回应。
ComPDFKit PDF SDK支持灵活的许可选项,请与我方销售团队联系了解更多信息。每个许可证仅对开发模式中的一个应用程序ID有效。但是,从ComPDFKit PDF SDK发布包中分发任何文档、样本代码或源代码给任何第三方都是受禁止的。
我们很高兴地宣布,您可以注册ComPDFKit API账号,免费试用以处理每月1000份文档。