如何下载 PDF 并将其存储在 iPhone 本地?

2023-12-31

我能够成功地从网站查看 PDF。我希望能够将该 PDF 下载到设备,然后在本地访问该文件。

当应用程序打开时,它将检查在线 PDF 的日期。如果它比本地存储的 PDF 新,应用程序将下载新的 PDF,否则将打开本地存储的 PDF。

我当前使用的代码:

PDFAddress = [NSURL URLWithString:@"http://www.msy.com.au/Parts/PARTS.pdf"];
request = [NSURLRequest requestWithURL:PDFAddress];
[webView loadRequest:request];
webView.scalesPageToFit = YES;

我怎样才能实现这一目标?


我发现了一种我自己尝试过的方法:

// Get the PDF Data from the url in a NSData Object
NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[
    NSURL URLWithString:@"http://www.example.com/info.pdf"]];

// Store the Data locally as PDF File
NSString *resourceDocPath = [[NSString alloc] initWithString:[
    [[[NSBundle mainBundle] resourcePath] stringByDeletingLastPathComponent]
        stringByAppendingPathComponent:@"Documents"
]];

NSString *filePath = [resourceDocPath 
    stringByAppendingPathComponent:@"myPDF.pdf"];
[pdfData writeToFile:filePath atomically:YES];


// Now create Request for the file that was saved in your documents folder
NSURL *url = [NSURL fileURLWithPath:filePath];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

[webView setUserInteractionEnabled:YES];
[webView setDelegate:self];
[webView loadRequest:requestObj];

这将在本地存储您的 PDF 并将其加载到您的 UIWebView 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何下载 PDF 并将其存储在 iPhone 本地? 的相关文章

  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 如何检测 UITableView 中某个单元格的双击?

    如何检测某个单元格上的双击UITableView i e 如果用户进行了一次触摸 我想执行一个操作 如果用户进行了两次触摸 我想执行另一个操作 我还需要知道进行触摸的索引路径 我怎样才能实现这个目标 Thanks 如果您不想创建子类UITa
  • UITableView 给出空表,不加载数据

    当保存我的表的视图是主 第一个 视图时 一切正常 但是 当它不是第一个视图并且我切换到该视图时 我的表不会加载数据 并且我得到一个空桌子 使用 NSLog 我可以看出该程序是不调用 numberOfRowsInSection 和 cellF
  • Modal UIViewController 在 iPad 上总是全屏显示。为什么?

    我试图在 iPad 上创建一个简单的模式对话框 无论是小设置 UIModalPresentationFormSheet 还是大设置 UIModalPresentationPageSheet 但无论我做什么 它们都会全屏显示 带有标题栏 模态
  • 关闭子级后,父级 UIViewController 方向不应更改

    假设我有三个 UI 控制器 A B C A 是我的根控制器 在 ShouldAutoRotate 方法中我返回 YES 我从A到B呈现ModalView B gt 在ShouldAutoRotate方法中我返回Portrait 然后从B我向
  • 在 Apple TV tvOS 中渲染 PDF

    我正在为我的 tvOS 应用程序添加一个附加功能 允许查看应用程序中存储的 PDF 但是 如果没有 UIWebView 我不知道如何做到这一点 我在其他地方提出了问题 并收到了一个来自 Apple 的关于可以使用的 API 的冗长而无助的文
  • 从现在起测量时间间隔

    任何人都知道或可以提供一些与 timeIntervalSinceNow 方法相关的示例代码 我需要类似的东西 time2 当应用程序进入前台时 time1 当应用程序进入后台时 time3 时间差 这样我就可以使用这个数字 以秒为单位的首选
  • 如何同时关闭并弹出到视图控制器

    我的家庭视图控制器是Tabbarcontroller 从选项卡栏我导航到 A Viewcontroller TabarViewcontroller gt A 视图控制器 从A 视图控制器 我推 B 视图控制器 从B Viewcontroll
  • iPhone Core Graphics 子视图的粗虚线

    我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect 该视图还包含一个子视图 该子视图也绘制一条线 然而 虽然两个视图都使用几乎相同的代码 至少出于测试目的 但在它们上绘制的线看起来并不相同 正如
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • 声音在模拟器中工作,而不是在真实 iPhone 中工作

    有几短音效播放的样本在模拟器中很好 但在真正的 iPhone 中根本不行3GS 以下是 Apple SysSound 示例中的代码 CFBundleRef mb CFBundleGetMainBundle CFURLRef soundFil
  • 使用 Mono Touch 的 Iphone 键盘顶部带有完成按钮的工具栏?

    我需要使用 UIkeyboard type 数字键盘在工具栏上添加完成按钮 以便在单击完成按钮时退出键盘 我使用了输入附件视图 但它也添加到普通键盘 我需要在我有数字键盘的地方添加这个 例如 我有一个文本字段 它只需要我需要的数字 除了我不
  • 在 Objective C 中使用下划线作为属性名称前缀 [重复]

    这个问题在这里已经有答案了 我以前避免在变量名中使用下划线 这可能是我大学 Java 时代的遗留下来的 因此 当我在 Objective C 中定义属性时 我自然会这样做 In the header interface Whatever N
  • iphone:通过代码获取目标设置中的用户定义变量?

    我的项目有多个目标 每个目标都有自己的目标Class用于设置内容的文件 我想存储它Class目标设置中的名称 Info plist或目标的建筑物设置 这样我就可以根据此设置定义每个目标中需要使用哪个类 根据这个问题 https stacko
  • 如何使用 pdftk 和 /MediaBox 裁剪 PDF 边距

    I used pdftk解压缩 PDF 然后将其作为文本文件打开 我想编辑 媒体盒领域 就我而言 MediaBox 0 0 612 792 例如 我想减少边距 MediaBox 100 0 512 792 不幸的是它不起作用 我可以改变0
  • java中的csv到pdf文件

    我正在尝试获得一个csv文件解析为pdf 到目前为止我所拥有的内容附在下面 我的问题是这段代码最终出现在 pdf 中的文件在 csv 文件的第一行被截断 我不明白为什么 附示例 本质上我想要一个没有任何操作的 csv 文件的 pdf 版本
  • 维护 UISegmentedControl 中的选择

    我可以保持 UISegmentViewControl 段的选定状态吗 即 即使用户选择了另一个段 也可以保持一个段显示为选中状态 我似乎在任何地方都找不到任何可以做到这一点的东西 这是不可能开箱即用的 看如何才能选择 UISegmented
  • 如何在ios中以编程方式添加水平间距和垂直间距?

    我在 ios 8 中创建了一个应用程序 因为我有 4 个可垂直使用的标签 它应该在某些条件下更改位置 所以我已禁用自动布局并以编程方式设置约束 现在的问题是 我可以设置水平和垂直位置 宽度和高度的约束 但我找不到任何方法来添加标签之间的水平
  • 为什么 GDB 调试器不断冻结 Xcode 4?

    这真是一个奇怪的错误 我正在开发一个使用相机源的 iPhone 项目 并通过 OpenGL 着色器运行它以对其应用效果 然而 每次我在代码中简单地创建一个新的 GLfloat 时 调试器都会在启动时冻结 我无法复制和粘贴文本 因为整个 XC
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f

随机推荐

  • 使用 like 关键字在单个查询中匹配多个标题

    使用 like 关键字在单个查询中匹配多个标题 我正在尝试获取与给定标题匹配的所有记录 下面是数据库的结构请参阅 数据库截图 https prnt sc JduJ6NSIr1E 当我传递单个类似查询时 它返回数据 Query SELECT
  • 聚焦离子输入时有没有办法隐藏键盘?

    我想要一个可以聚焦的离子输入 并且键盘不应该出现 有什么办法或者有可能吗 谢谢你 是的 安装这个插件 gt https ionicframework com docs native keyboard https ionicframework
  • 在Scheme中注释代码

    我正在查看一些代码Scheme from Festival并且似乎无法弄清楚评论 目前 我可以看到 and 用于指示注释行 网络上的其他来源表明上面的一些可能是指示多行注释的方法 我的问题是 有什么区别 and 用于发表评论 什么时候应该使
  • mvc 和 webapi 之间的身份验证(单独的域/应用程序)

    我正在为以下场景寻找好的想法 资源 实现 MVC 网站位于http mywebsite com http mywebsite com Webapi REST 服务位于http myapi com http myapi com 重要信息 请注
  • 如何为 Arduino IDE 安装 openCV 库?

    我正在开发一个使用面部跟踪 对象跟踪 面部识别等的 Arduino 项目 为了实现这一目标 我决定使用 OpenCV 库 然而问题是 我不知道如何安装 Arduino 和处理的 OpenCV 库 谁能告诉我该怎么做 谢谢 如果您使用的是处理
  • 绘制多条路线谷歌地图

    我想根据Google中的路线服务绘制多条路线 代码如下 p s Data是我从json调用中获得的列表 for i 0 i lt 20 i route data i start new google maps LatLng route fr
  • Visual C# Studio 项目中的哪些文件不需要版本控制?

    我是 Visual C Studio 的新手 实际上使用的是 Express 版本 但另一个开发人员正在使用完整版本 并且我们正在使用版本控制 svn 将项目文件添加到存储库对我来说是可以接受的 因为此存储库仅适用于我们两个使用 Visua
  • 为什么我的 vscode 光标在 div 周围显示一个块

    一旦我进入 DIV 标签或任何函数 我的 vscode 就会在这些标签周围显示一个空白框 在此输入图像描述 https i stack imgur com GhhQ2 png我也添加了一张图片 有人可以帮我禁用这个吗 所以我只能看到光标 看
  • tf.keras - 尽管使用 GPU 内存,但第一个时期的训练并未取得进展

    我一直在尝试训练使用 Keras 的 Tensorflow 实现编写的 CNN 看起来训练在到达第一个 epoch 时就陷入了困境 尽管根据 nvidia smi 的说法 我的 GPU 似乎仍在使用内存 也没有错误消息或回溯打印到终端 这使
  • 如何重置 blueimp jQuery 文件上传插件?

    要旨 如何重置 blueimp jQuery 文件上传插件 使其认为尚未上传任何文件 我的场景 我有一个上传表单 只允许上传一个文件 文件上传后 就会对其进行分析 此时 用户可以选择单击 取消 按钮 我可以在其中重置视图模型的其余部分 当用
  • 网格视图根据屏幕尺寸自动显示列数

    我正在使用 Gridview 我想在其中显示一些图片 我希望我的网格视图在所有尺寸的屏幕上都看起来不错 我的意思是我正在为不同的 Android 设备开发我的应用程序 例如三星 Galaxy Grand 普通设备 三星 Tab 4 7 英寸
  • 调用 shell 脚本时是否会完整读取?

    我问这个问题是因为我最近对正在执行的 KornShell ksh 脚本进行了更改 保存更改后不久 执行过程失败 从错误消息来看 运行的进程似乎已经看到了我的一些 但不是全部 更改 这强烈表明 当调用 shell 脚本时 整个脚本不会读入内存
  • 如何将消息上下文标头添加到apache axis 2 Java

    我正在从事网络服务工作 我想知道如何向 JAX WS 类型 Web 服务中的 SOAP 请求添加标头 像这样考虑我的标题 Map
  • 为什么Gerrit无法自己创建分支?

    下列的这个答案 https stackoverflow com a 10461674 1469208 and 我自己的问题 https stackoverflow com q 20583800 1469208 我有一个简单的 希望如此 问题
  • 有没有办法让“make”回显命令

    有没有办法拥有makeecho 命令被手动抑制 在生成文件中 我在帮助或手册页中找不到这个 它只是说 quiet 来做相反的事情 最明显的想法是更改运行命令的 shell 例如修改你的makefile并添加到顶部SHELL sh xv 另一
  • LayoutInflater 似乎没有与布局中的 id 链接

    我完全迷失了这个 LayoutInflater 我正在尝试将代码中的项目与位于远程布局中的项目链接起来 我尝试了三种不同版本的充气机创作 它们都不起作用 然而 这个版本似乎是使用最广泛的 这是充气机乱码的片段 setContentView
  • Jetpack Compose 全屏对话框

    我尝试使用以下代码使用 Jetpack Compose 制作全屏对话框 Dialog onDismissRequest TODO NewPostDialog 它最终看起来像这样 如何去除侧面的边距 标记为红色 UPDATE 正如 Nesto
  • 当通过命令行发送ctrl-c时,如何在lua中捕获ctrl-c

    我想知道命令行中的用户何时按下 control c 以便我可以保存一些内容 我该怎么做呢 我看过但还没有真正看到任何东西 注意 我对lua有点熟悉 但不是专家 我主要使用 lua 来使用 Torch 库 http torch ch http
  • Elixir OTP Supervisor 检测到崩溃的进程时记录错误

    In the Supervisor 的十六进制文档 https hexdocs pm elixir Supervisor html content 有一行指出 使用该模块实现的监控程序具有一组标准的接口功能 并包括跟踪和错误报告功能 不幸的
  • 如何下载 PDF 并将其存储在 iPhone 本地?

    我能够成功地从网站查看 PDF 我希望能够将该 PDF 下载到设备 然后在本地访问该文件 当应用程序打开时 它将检查在线 PDF 的日期 如果它比本地存储的 PDF 新 应用程序将下载新的 PDF 否则将打开本地存储的 PDF 我当前使用的