网站建设在线学习,网页设计类官网,学编程要什么学历,营销者网站在当今以移动为先的世界中#xff0c;为企业和开发人员创建一个iOS应用程序是必不可少的。随着对PDF文档处理需求的增加#xff0c;使用ComPDFKit这个强大的PDF软件开发工具包#xff08;SDK#xff09;来构建iOS PDF阅读器和编辑器可以让最终用户轻松查看和编辑PDF文档。 …在当今以移动为先的世界中为企业和开发人员创建一个iOS应用程序是必不可少的。随着对PDF文档处理需求的增加使用ComPDFKit这个强大的PDF软件开发工具包SDK来构建iOS PDF阅读器和编辑器可以让最终用户轻松查看和编辑PDF文档。
在本博客中我们将首先探讨整合ComPDFKit PDF SDK和使用它构建iOS PDF阅读器所需的步骤。
开始使用ComPDFKit iOS PDF SDK
ComPDFKit是一个强大的PDF软件开发工具包SDK。使用几行Objective-C代码将ComPDFKit PDF SDK嵌入到您的iOS应用程序中非常简单。只需几分钟就可以开始使用。
以下几个部分介绍了所需的要求、安装包的结构以及如何使用ComPDFKit PDF SDK在Objective-C中创建iOS PDF阅读器
所需环境
开发使用ComPDFKit PDF SDK的程序需要以下开发环境。如果您的开发环境较低可能无法正常使用ComPDFKit PDF SDK。
设备系统要求iOS10.0及以后的系统
IDE的版本:Xcode12及以后。在本博客中我们使用Xcode14.0.1来演示示例 目前暂不支持在苹果Silicon系列上运行模拟器
对于早期版本的Xcode如Xcode 13默认情况下可能会打开Bitcode选项因此需要关闭才能进行运行。具体的操作步骤如下图所示 iOS包结构
您可以通过联系我们来获取我们的PDF SDK安装包。下载并解压缩ComPDFKit PDF SDK for iOS的安装包您将在SDK包中看到以下所有文件。
ComPDFKit.xcframework - 包括ComPDFKit 动态库(arm64_armv7,x86_64-模拟器)以及相关的头文件
PDFViewer - 包含iOS(Objective-C)样例的工程
PDFViewer-Swift - 包含iOS(Swift)样例的工程
api_reference_ios - API 引用
developer_guide_ios.pdf- Developer guide
release_note - 版本发布相关的信息
legal.txt** - 法律相关的信息 使用Objective-C创建iOS预览App
这一部分将通过逐步说明帮助您快速入门使用ComPDFKit PDF SDK以在Objective-C中制作iOS应用程序。通过以下步骤您将获得一个能够显示指定PDF文件内容的简单应用程序。在本文中我们以Xcode 14.0.1作为示例。
创建一个全新的项目
打开Xcode,选择File- New - Project然后选择iOS app再点过击Next按钮 新项目需要设置如下几个选项: 输入产品的名字例如PDFViewer 选择并登录您要发布应用的苹果开发者账号。 输入组织的名称(com.example.pdfviewer) 在面版上选择故事版 编程语言选择Objective-C 点击Next按钮 设置project的位置然后点击创建 添加ComPDFKit的SDK包 在ComPDFKit PDF SDK的安装包中找到ComPDFKit.xcframework。它包含了所有支持的架构的二进制文件。 打开新创建的iOS项目并在右侧面板中选择General。然后找到Frameworks, Libraries, and Embedded Content部分将ComPDFKit.xcframework直接拖放到该部分并将Embed选项设置为Embed Sign。 使用快捷键Command_B编译项目。如果没有报错说明配置正确您可以继续进行下一步。如果报告了一些错误您需要检查错误的原因。如果您无法确定错误可以联系我们的技术团队来解决问题 添加License Key 将头文件ComPDFKit/ComPDFKit.h 导入到AppDelegate中。 按照下面的代码并在didFinishLaunchingWithOptions方法中调用CPDFKit setLicenseKey:LICENSE_KEY secret:LICENSE_SECRET方法。您需要用您获得的许可证替换LICENSE_KEY和LICENSE_SECRET。
#import ComPDFKit/ComPDFKit.hinterface AppDelegate ()endimplementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch./*// Set your license key here. ComPDFKit is commercial software.// Each ComPDFKit license is bound to a specific app bundle id.// Notice: This is a demo project, presenting completed ComPDFKit functions.// The functions might be different based on the license you have purchased.// Please check the functions you chose work fine in this demo project.// BOOL tIsFeatureLocked ![[CPDFKit sharedInstance] allowsFeature:CPDFKitFeatureSecurityWatermark];*/// [CPDFKit setLicenseKey:YOUR_LICENSE_KEY_GOES_HERE secret:YOUR_LICENSE_SECRET_GOES_HERE];[CPDFKit setLicenseKey: secret:];NSString *tAnnotateAuther CPDFKitShareConfig.annotationAuthor;NSLog(CPDFKit Annotation Author: \t %, tAnnotateAuther);CPDFKitShareConfig.enableAnnotationNoRotate YES;return YES;
}
编译并运行项目。如果控制台输出了version information版本信息则表示许可证已成功设置。否则请查看本博客末尾的故障排除部分或检查控制台中的错误日志以快速确定并解决问题。
展示pdf文档
准备一个测试的PDF文件将其拖放到新创建的 pdfView 项目中。通过这种方式您可以使用 NSBundle 加载和预览本地的PDF文档。下面的图片展示了将名为“Online5”的PDF文档导入项目的示例。 准备一个测试的PDF文件将其拖放到新创建的 pdfView 项目中。通过这种方式您可以使用 NSBundle 加载和预览本地的PDF文档。下面的图片展示了将名为“Online5”的PDF文档导入项目的示例。 NSString *pdfPath [bunle pathForResource:Online5 ofType:pdf];NSURL *url [NSURL fileURLWithPath:pdfPath];CPDFDocument *document [[[CPDFDocument alloc] initWithURL:url] autorelease];CGRect rect self.view.bounds;CPDFView *pdfView [[[CPDFView alloc] initWithFrame:rect] autorelease];pdfView.document document;将创建的 CPDFView 添加到当前控制器的视图中。示例代码如下 [self.view addSubview:pdfView];连接您的设备或模拟器并使用快捷键Command_R运行应用程序。PDF文件将被打开并显示在屏幕上。 如果无法显示PDF内容请检查创建的NSURL和CPDFDocument对象是否为空或者创建的CPDFView的大小是否为零。它们不应该为空。
如果文件路径中包含特殊字符您的NSURL将会为nil。请使用以下代码进行处理。
[pdfPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];如果创建的CPDFView的大小为零按照以下代码调整pdfview的大小。
pdfview.frame self.view.frame.bounds所有代码如下所示: NSString *pdfPath [bunle pathForResource:Online5 ofType:pdf];NSURL *url [NSURL fileURLWithPath:pdfPath];CPDFDocument *document [[[CPDFDocument alloc] initWithURL:url] autorelease];if (document.error document.error.code ! CPDFDocumentPasswordError) {return;}// Initialize a CPDFView object with the size of the entire screenCPDFView *pdfView [[[CPDFView alloc] initWithFrame:self.view.bounds] autorelease];// Set the document to displaypdfView.document document;// Add the pdfView to the root view[self.view addSubview:pdfView];问题排查 位码 即使所有配置都正确仍可能出现编译错误。首先请检查是否禁用了位码bitcode。在较旧的Xcode版本如Xcode 13中默认情况下可能启用了位码选项。为了运行应用程序需要将其设置为“否”。 License(许可证) 如果出现许可设置错误请确保“通用设置”中的身份Bundle ID设置与您联系我们以获取许可时提供的Bundle ID匹配。如果出现已过期的许可消息请联系ComPDFKit团队以获取最新的许可和密钥。 PDF无法展示 请检查我们传入的路径是否需要特殊编码或者我们传入的本地路径是否存在 其他问题 如果在集成我们的ComPDFKit PDF SDK for iOS时遇到其他问题请随时联系ComPDFKit团队 在当今以移动为先的世界中为企业和开发人员创建一个iOS应用程序是必不可少的。随着对PDF文档处理需求的增加使用ComPDFKit这个强大的PDF软件开发工具包SDK来构建iOS PDF阅读器和编辑器可以让最终用户轻松查看和编辑PDF文档。
在本博客中我们将首先探讨整合ComPDFKit PDF SDK和使用它构建iOS PDF阅读器所需的步骤。
开始使用ComPDFKit iOS PDF SDK
ComPDFKit是一个强大的PDF软件开发工具包SDK。使用几行Objective-C代码将ComPDFKit PDF SDK嵌入到您的iOS应用程序中非常简单。只需几分钟就可以开始使用。
以下几个部分介绍了所需的要求、安装包的结构以及如何使用ComPDFKit PDF SDK在Objective-C中创建iOS PDF阅读器
所需环境
开发使用ComPDFKit PDF SDK的程序需要以下开发环境。如果您的开发环境较低可能无法正常使用ComPDFKit PDF SDK。
设备系统要求iOS10.0及以后的系统
IDE的版本:Xcode12及以后。在本博客中我们使用Xcode14.0.1来演示示例
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJRtAPYZ-1690448461859)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-f12f15ef.jpg?x-cos-security-tokenBJdJsHEW9tRdV4U1c2UC8j4hz1AQDOiad9eabc3fe036a764ae609698273ee434ELpcYO4-9LL7ugDY7fTqEzBaRJKrOsDTkDtXM7zGLaKwHKL2sAHtn3_6b6bBiHmb8QXsDi2ZSk4Mfij6vE6wrklmlNqWFKH6KdMOHGq0KHPxiL5SFiK0pzMJTc8Nl9m0YENqdo-fm7Hr_Rn9xhNTN5yvFRQgPJqSVSM72uOFS37MXhTfHBVUL3nORH5Vg_Til5TF8XdIoOYTVx3Ks1P5nPe_6aG3UASiZU_1E-9pjeDKpCweKAvgji3ETHiFjEjuKjOz2H0-4eWcFDDYYY3q9vbyD83V3BxwgoXRoFwAVmIJXWnJG2d1RBRO3sj-40Skgrs81_udF8paUXEPlEkrsoY5-7GeTE4JY2ROVS3RaHjyAm6I0szTNCikbbU3LO2PGVMH46Hw6PcqvNc92dyplgq-sign-algorithmsha1q-akAKIDANg5dNM5f9D8uxxwgM3dVxpc5tfCPYqPpHqqYMKsHsXGLcIfh7r_y3gFkNRi1S9qq-sign-time1690448075%3B1690455270q-key-time1690448075%3B1690455270q-header-listhostq-url-param-listx-cos-security-tokenq-signaturec24998cfc572398f422139639a7ffb755bafb6d6)]
目前暂不支持在苹果Silicon系列上运行模拟器
对于早期版本的Xcode如Xcode 13默认情况下可能会打开Bitcode选项因此需要关闭才能进行运行。具体的操作步骤如下图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Ez2lkrs-1690448461860)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-24aefc53.jpg?x-cos-security-token2DvTlaTJkqLbUbKZEwEcLA7IMp51aNyaaf7adb55df5d8a1f6c416b6163835df8zpMHRHzjIezKVlcXhhCVpkroW1dNVtfYRN64iO0cGWgQPHbi0tnfSw76g15p5LXDQugdqEk1f8Zuzwka9VdrrLd3h2I0ev_eiZW-YiqR-Mwp0IO_vL6CkCoUOj5uREp6LzqBRVtrwuwf4n2-6PkYycz9Sl_wpw7Hww-t4J9sbwaz2hFF2gMxi577Tv2MOc8Odg6SUzW5ktFwCO5PsPKXEMtEkW7T2AEiyfBnSFqczblBpec7lKaOJvzRItVPBMb8JJaGybvhwgTg3oSwdcLMSFPYDM-Tpe9vz61GR52MIHLUf1cFGSsJfQfpv_XUVm6livJgKT93kQ_qJL4fLwTmjNysRYh36UWQNglUH8FegUM9cQz6QNOVDvGdTG9UupgqCuXOazgj_RxsfI47JEmizwq-sign-algorithmsha1q-akAKIDVKhQ4uBgkTq_t-2pdw1vZhsOn1wlTJFx3kTUGaufm5AW6X8r635Sk3aIVZBoNpAgq-sign-time1690448083%3B1690455278q-key-time1690448083%3B1690455278q-header-listhostq-url-param-listx-cos-security-tokenq-signature5ee26126e198659ceb1f68f6ceaeee27ccc75f35)]
iOS包结构
您可以通过联系我们来获取我们的PDF SDK安装包。下载并解压缩ComPDFKit PDF SDK for iOS的安装包您将在SDK包中看到以下所有文件。
ComPDFKit.xcframework - 包括ComPDFKit 动态库(arm64_armv7,x86_64-模拟器)以及相关的头文件
PDFViewer - 包含iOS(Objective-C)样例的工程
PDFViewer-Swift - 包含iOS(Swift)样例的工程
api_reference_ios - API 引用
developer_guide_ios.pdf- Developer guide
release_note - 版本发布相关的信息
legal.txt** - 法律相关的信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A7PbvvGE-1690448461860)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-688f1f3f.png?x-cos-security-token2DvTlaTJkqLbUbKZEwEcLA7IMp51aNyacfd929f7e17b74f145b4f4dde7f09d42zpMHRHzjIezKVlcXhhCVplbHw0ZQcgA_4HcvHxN8DRIAqFbV0f5Txnup13H3GeRVFwmdWWTET8fQtCtNmCR-n70DqR_9PImNJ3K7loOjAa2fmhrn5_l0hZBFD2CjKoJHyz8A0HYmQpYJ-JWmBpjxZcEDJtCTkyAyW_EXW62AVvJSKgLmxiqUF-FRuohbDuqf52xHAG8c6k_-E0IYomA-LxCZvIF-ptmG-nrv6q27xjY_5RVmlHqae1fPicYoGnSeHBp4j2Gf-JFxDy0LcAJ1p18noTdtasSt3uZo9DJh–ThmZSa-3E1p6WiKxwRN33d3S10KzGsKsY6yMVXgBHUVT-ZiYaylN7f-KUxUkpoO8lCCq2UL_xisHcvPzTlNXeTU8OJkpoeWGptLZ605dSV9wq-sign-algorithmsha1q-akAKIDocT-i4cCmMYCeVFuuP6orCVqxeplyXV8zkKP8tpCINHKTtbpqXg35hVYy9H0g59aq-sign-time1690448162%3B1690455357q-key-time1690448162%3B1690455357q-header-listhostq-url-param-listx-cos-security-tokenq-signaturef5e247a6504c506f70966825c97998e032d285db)]
使用Objective-C创建iOS预览App
这一部分将通过逐步说明帮助您快速入门使用ComPDFKit PDF SDK以在Objective-C中制作iOS应用程序。通过以下步骤您将获得一个能够显示指定PDF文件内容的简单应用程序。在本文中我们以Xcode 14.0.1作为示例。
创建一个全新的项目
打开Xcode,选择File- New - Project然后选择iOS app再点过击Next按钮
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uNts5Iiz-1690448461860)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-cf9b59e6.jpg?x-cos-security-token2DvTlaTJkqLbUbKZEwEcLA7IMp51aNya146e45b438f870507952cf1569723a15zpMHRHzjIezKVlcXhhCVpo30aiDycHEY02_aUaUvPMfQEg-fu7kZAlZ1LesPkfSi8skn2c7mbrLHrDspb87loy4gbJtsJnckY1qepYw8PISzAi8gr95KeR_khbV2mwxofAThAsRccASCfWFtC3iRtvHjzEz39zwN5KPjv_6kjluBoYS-IjMvLjFEHt3BZ02I-A6t3YQ1t6VbuL95FcyFl_Jm6iKOQNNrlGUFwoR3d0g_XFeflmKouIrWHSSBrWZNsE1SHeepCWDxdH1PucjGlyTzm_U-DtSynqxaI780X72xTUF0kX4ND9IZZL9zEzCRRieoTYu93zuVYBbxZbm84aSEn4jTC_iiZzNlYO21utIongDUuP3MiJB1x4g2BjAi-E9Cvec7hdEqQe0B6ipTUgq-sign-algorithmsha1q-akAKIDx0q6-e8XcN1zd5GPHfiLg9HS50q-mojLOv0XMcShRWclbfgwCe893KheHsQkvMI2q-sign-time1690448187%3B1690455382q-key-time1690448187%3B1690455382q-header-listhostq-url-param-listx-cos-security-tokenq-signature6ae5611027a8965f209577e560e0d90a417dc2ef)]
新项目需要设置如下几个选项: 输入产品的名字例如PDFViewer 选择并登录您要发布应用的苹果开发者账号。 输入组织的名称(com.example.pdfviewer) 在面版上选择故事版 编程语言选择Objective-C 点击Next按钮 设置project的位置然后点击创建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEUihjG6-1690448461861)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-59e4b3f0.jpg?x-cos-security-tokenBJdJsHEW9tRdV4U1c2UC8j4hz1AQDOiaf4da32f8919a94517467ce57d6293e84ELpcYO4-9LL7ugDY7fTqEz6HgKIR9E1tig4O2Hpa8ErIROWyBrsRqzGudlEyg002RH7qvCHahg5tnJEUbyE6tsLB7tThV4Yvjh7cHGsjzgBExgIXW_G2peaMnEm3QJkHrMcu40a7S46coZk-BSj7AGRuAYTRZM9fkYR8NpJ56g-m8z5XsAN6ixX5TW5v6Hi9KL9SdTCgnn00LbJstCtTtYHrPf-Hj8jZN_CNc-JBvcvfTeViJ5qI4Bovp6QLYQuTU7F0mv8veXIUzHcvicDF-jxLSMDb9PQ5QxOTFjM-t-NBTgfFZtjeQsYTVQEQwfE3WtN4VBpd34t3-7MzFTtKEKwVsNBf7_uNaBvLNdIR_3KKCBfy2aBRyEFjdwgfREd8m9UOc_56WUwD05yDC014wAq-sign-algorithmsha1q-akAKIDZx89zje9_yf8xTTwuOooH-ipJK7t0694fEoNqh0LmIXoEeX3RUSdwoBYcKW9jya6q-sign-time1690448310%3B1690455505q-key-time1690448310%3B1690455505q-header-listhostq-url-param-listx-cos-security-tokenq-signature4fc1f7bea6722715fa978559a2f96cf3c8bf33b6)]
添加ComPDFKit的SDK包 在ComPDFKit PDF SDK的安装包中找到ComPDFKit.xcframework。它包含了所有支持的架构的二进制文件。 打开新创建的iOS项目并在右侧面板中选择General。然后找到Frameworks, Libraries, and Embedded Content部分将ComPDFKit.xcframework直接拖放到该部分并将Embed选项设置为Embed Sign。 使用快捷键Command_B编译项目。如果没有报错说明配置正确您可以继续进行下一步。如果报告了一些错误您需要检查错误的原因。如果您无法确定错误可以联系我们的技术团队来解决问题
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RoEW9p2b-1690448461861)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-13b47eaa.jpg?x-cos-security-tokenBJdJsHEW9tRdV4U1c2UC8j4hz1AQDOia4510ee2f0b75adf0638ee2ff43d58be2ELpcYO4-9LL7ugDY7fTqE1DAu7so_hZ0d-KTMmMc8lrqP391U9YzIcudjry39U1uWLThzIfs8tSw2i0Nm9Vh5A6fJp3pkQWB8F6XOYhaKcPAxdWzcrkqeaoPY1ujghnhWLnXv4FkmKN7Hoe6qvIw-POOvu5o3x9WqYNSoLv4X-vlDowv623Y5N4kyjvXt23meXofzR4QU7V8ZqAPzjTLZh9HaWkHbe9WnhrU9yq2pkNtqbic6h0kjQlYXRZzUjptO5-G5i3M3PXIFS36di7g9LbMYl4evcRSJeYzBwKsKIgylmf_Vom_eoFdKhTYdJ3emUqUfE1v6yQhkv7BlnFJEAMGg2inzAGiZ0UdLeZPhPJQg8lW006myeSby4SBhQ-LbvNyPmo-SiuHcy6y7udiNAq-sign-algorithmsha1q-akAKIDVUWFagSBfmdFsbkPHxU2L5M4LgEks9yAJ3GqWiifcRnTKEaO3lgwmHwtCh0vjKwzq-sign-time1690448341%3B1690455536q-key-time1690448341%3B1690455536q-header-listhostq-url-param-listx-cos-security-tokenq-signature384f6e4c7385b8732a6471578cb3fdc5ba383eba)]
添加License Key 将头文件ComPDFKit/ComPDFKit.h 导入到AppDelegate中。 按照下面的代码并在didFinishLaunchingWithOptions方法中调用CPDFKit setLicenseKey:LICENSE_KEY secret:LICENSE_SECRET方法。您需要用您获得的许可证替换LICENSE_KEY和LICENSE_SECRET。
#import ComPDFKit/ComPDFKit.hinterface AppDelegate ()endimplementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// Override point for customization after application launch./*// Set your license key here. ComPDFKit is commercial software.// Each ComPDFKit license is bound to a specific app bundle id.// Notice: This is a demo project, presenting completed ComPDFKit functions.// The functions might be different based on the license you have purchased.// Please check the functions you chose work fine in this demo project.// BOOL tIsFeatureLocked ![[CPDFKit sharedInstance] allowsFeature:CPDFKitFeatureSecurityWatermark];*/// [CPDFKit setLicenseKey:YOUR_LICENSE_KEY_GOES_HERE secret:YOUR_LICENSE_SECRET_GOES_HERE];[CPDFKit setLicenseKey: secret:];NSString *tAnnotateAuther CPDFKitShareConfig.annotationAuthor;NSLog(CPDFKit Annotation Author: \t %, tAnnotateAuther);CPDFKitShareConfig.enableAnnotationNoRotate YES;return YES;
}
编译并运行项目。如果控制台输出了version information版本信息则表示许可证已成功设置。否则请查看本博客末尾的故障排除部分或检查控制台中的错误日志以快速确定并解决问题。
展示pdf文档
准备一个测试的PDF文件将其拖放到新创建的 pdfView 项目中。通过这种方式您可以使用 NSBundle 加载和预览本地的PDF文档。下面的图片展示了将名为“Online5”的PDF文档导入项目的示例。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ErttdG0d-1690448461861)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-76d5ff81.jpg?x-cos-security-tokenBJdJsHEW9tRdV4U1c2UC8j4hz1AQDOia3815c88c47721e6bb71051e0f7f0424cELpcYO4-9LL7ugDY7fTqE0S-7mQ31RaKi320guAM036P5TiVFICTdzr7OAtAtPw6pRBAjRt_g7m5VgzngXz-oaB98vh5cRIvwLenm-_p-vDNR9IiOKw5d7h5wj1zzORwopu1nLxnnkjcodCu28Qo701G44Drr34uu9WrVPrToEnybcgX5o97x17L3QAWO32n7ETsg_Qaa2YfwftpDJheb4eM6tZTXWy6RjpOlVvcGi1CTjfXJ9EXwJvZxPSJ0na0UltepeN91dqAqMwNSUqQk-NtYM55Q-YQrHD0uAT101z9rogTjxftuIcmqKs-NQuvQTCZtQX4w3-rVaaAZPE-a6a7wh32gM9jiSq42NWSK-MS8w9ujs5z5n8tmi9WmDHyDFgI6kJablZ5zYb5rvagowq-sign-algorithmsha1q-akAKID4FR2rFJa4bCi1CHaZ3tS-XWqFCDxhlPXTnJvR5koLimvxwQCDSJtMiYiOWbWXiYwq-sign-time1690448414%3B1690455609q-key-time1690448414%3B1690455609q-header-listhostq-url-param-listx-cos-security-tokenq-signature8a71af0815150afd9bb0e7af3daf927196f430e5)]
准备一个测试的PDF文件将其拖放到新创建的 pdfView 项目中。通过这种方式您可以使用 NSBundle 加载和预览本地的PDF文档。下面的图片展示了将名为“Online5”的PDF文档导入项目的示例。 NSString *pdfPath [bunle pathForResource:Online5 ofType:pdf];NSURL *url [NSURL fileURLWithPath:pdfPath];CPDFDocument *document [[[CPDFDocument alloc] initWithURL:url] autorelease];CGRect rect self.view.bounds;CPDFView *pdfView [[[CPDFView alloc] initWithFrame:rect] autorelease];pdfView.document document;将创建的 CPDFView 添加到当前控制器的视图中。示例代码如下 [self.view addSubview:pdfView];连接您的设备或模拟器并使用快捷键Command_R运行应用程序。PDF文件将被打开并显示在屏幕上。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hmnkTaQL-1690448461862)(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/10679850/20230727-e8c1f4d9.jpg?x-cos-security-token5k37kcaEnQva7z6hqkSrfzpVKfj5daDaf611dd67a1df9daa077c5526e075f61c0NEaMxG3eQ9Su4KDqw4KiZJKiT5Hs-LhIdOHlhJLjL8XYGJcZPRH4l_GZ2d-TU28-fbWJO5meIoHCA_FYbOqD_-oh7o7lXSl4om2WGabqJo3F79rumC4R3aLLvO0XfgcyV7kFvWA8SRhyBPAJiyeJ3NGgmw7FcbuTgjr_Vb0PjMiWZiCjZIyJcVs4zu_c20PST-fI5iugwITLnhxpUew8C7oRp02LX9K_PcLz7yFcHe_fckD23sIFicJsmxnalSkMYUdFzn5v6s-W39tT5IumTmlI3gHwrqDrELZD-mkc3ZmKvxjSq8-RHHjr9cWsDuR9hVfsTlMBgQ7vV3y99d3olRyMKvFT1RRorXE766jFwMmI6dE-E2V-LPtJWufdG-Q9Xhh0OxszfoYetvHBvPu5wq-sign-algorithmsha1q-akAKIDUP36ZIVKSCohmvCglJKaujA6Bbfm1iRfBuCMedA23wPRaLiCbxAAtws09Yg6ubqBq-sign-time1690448430%3B1690455625q-key-time1690448430%3B1690455625q-header-listhostq-url-param-listx-cos-security-tokenq-signaturefa6938fb2ff06e60331f0ef583db1d319920397c)]
如果无法显示PDF内容请检查创建的NSURL和CPDFDocument对象是否为空或者创建的CPDFView的大小是否为零。它们不应该为空。
如果文件路径中包含特殊字符您的NSURL将会为nil。请使用以下代码进行处理。
[pdfPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];如果创建的CPDFView的大小为零按照以下代码调整pdfview的大小。
pdfview.frame self.view.frame.bounds所有代码如下所示: NSString *pdfPath [bunle pathForResource:Online5 ofType:pdf];NSURL *url [NSURL fileURLWithPath:pdfPath];CPDFDocument *document [[[CPDFDocument alloc] initWithURL:url] autorelease];if (document.error document.error.code ! CPDFDocumentPasswordError) {return;}// Initialize a CPDFView object with the size of the entire screenCPDFView *pdfView [[[CPDFView alloc] initWithFrame:self.view.bounds] autorelease];// Set the document to displaypdfView.document document;// Add the pdfView to the root view[self.view addSubview:pdfView];问题排查 位码 即使所有配置都正确仍可能出现编译错误。首先请检查是否禁用了位码bitcode。在较旧的Xcode版本如Xcode 13中默认情况下可能启用了位码选项。为了运行应用程序需要将其设置为“否”。 License(许可证) 如果出现许可设置错误请确保“通用设置”中的身份Bundle ID设置与您联系我们以获取许可时提供的Bundle ID匹配。如果出现已过期的许可消息请联系ComPDFKit团队以获取最新的许可和密钥。 PDF无法展示 请检查我们传入的路径是否需要特殊编码或者我们传入的本地路径是否存在 其他问题 如果在集成我们的ComPDFKit PDF SDK for iOS时遇到其他问题请随时联系ComPDFKit团队 文章转载自: http://www.morning.sjmxh.cn.gov.cn.sjmxh.cn http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn http://www.morning.gediba.com.gov.cn.gediba.com http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.bgygx.cn.gov.cn.bgygx.cn http://www.morning.rlbc.cn.gov.cn.rlbc.cn http://www.morning.cyfsl.cn.gov.cn.cyfsl.cn http://www.morning.mqwdh.cn.gov.cn.mqwdh.cn http://www.morning.wwznd.cn.gov.cn.wwznd.cn http://www.morning.qbpqw.cn.gov.cn.qbpqw.cn http://www.morning.mmsf.cn.gov.cn.mmsf.cn http://www.morning.rfwkn.cn.gov.cn.rfwkn.cn http://www.morning.btwlp.cn.gov.cn.btwlp.cn http://www.morning.ssrjt.cn.gov.cn.ssrjt.cn http://www.morning.lkhfm.cn.gov.cn.lkhfm.cn http://www.morning.pwhjr.cn.gov.cn.pwhjr.cn http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn http://www.morning.yrrnx.cn.gov.cn.yrrnx.cn http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.fpzz1.cn.gov.cn.fpzz1.cn http://www.morning.grbp.cn.gov.cn.grbp.cn http://www.morning.crqpl.cn.gov.cn.crqpl.cn http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn http://www.morning.gdgylp.com.gov.cn.gdgylp.com http://www.morning.ssqwr.cn.gov.cn.ssqwr.cn http://www.morning.srrrz.cn.gov.cn.srrrz.cn http://www.morning.yrbq.cn.gov.cn.yrbq.cn http://www.morning.lwsct.cn.gov.cn.lwsct.cn http://www.morning.sjsfw.cn.gov.cn.sjsfw.cn http://www.morning.bsbcp.cn.gov.cn.bsbcp.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn http://www.morning.plydc.cn.gov.cn.plydc.cn http://www.morning.rxydr.cn.gov.cn.rxydr.cn http://www.morning.rwbx.cn.gov.cn.rwbx.cn http://www.morning.frllr.cn.gov.cn.frllr.cn http://www.morning.jynzb.cn.gov.cn.jynzb.cn http://www.morning.mehrim.com.gov.cn.mehrim.com http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn http://www.morning.bchfp.cn.gov.cn.bchfp.cn http://www.morning.ymjrg.cn.gov.cn.ymjrg.cn http://www.morning.tlrxt.cn.gov.cn.tlrxt.cn http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn http://www.morning.wkwds.cn.gov.cn.wkwds.cn http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn http://www.morning.rnzgf.cn.gov.cn.rnzgf.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.pndw.cn.gov.cn.pndw.cn http://www.morning.xsymm.cn.gov.cn.xsymm.cn http://www.morning.zqbrd.cn.gov.cn.zqbrd.cn http://www.morning.prxqd.cn.gov.cn.prxqd.cn http://www.morning.hxbps.cn.gov.cn.hxbps.cn http://www.morning.mxhys.cn.gov.cn.mxhys.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn http://www.morning.ccdyc.cn.gov.cn.ccdyc.cn http://www.morning.jmmz.cn.gov.cn.jmmz.cn http://www.morning.tndhm.cn.gov.cn.tndhm.cn http://www.morning.lclpj.cn.gov.cn.lclpj.cn http://www.morning.pjftk.cn.gov.cn.pjftk.cn http://www.morning.zhnyj.cn.gov.cn.zhnyj.cn http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn http://www.morning.qcztm.cn.gov.cn.qcztm.cn http://www.morning.gbsfs.com.gov.cn.gbsfs.com http://www.morning.knwry.cn.gov.cn.knwry.cn http://www.morning.ghxzd.cn.gov.cn.ghxzd.cn http://www.morning.yzxhk.cn.gov.cn.yzxhk.cn http://www.morning.juju8.cn.gov.cn.juju8.cn http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn http://www.morning.smjyk.cn.gov.cn.smjyk.cn http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn http://www.morning.djpzg.cn.gov.cn.djpzg.cn http://www.morning.hsgxj.cn.gov.cn.hsgxj.cn http://www.morning.1000sh.com.gov.cn.1000sh.com http://www.morning.xplng.cn.gov.cn.xplng.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.qsdnt.cn.gov.cn.qsdnt.cn http://www.morning.xgxbr.cn.gov.cn.xgxbr.cn