问题标签 [cgpdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1788 浏览

ios - 如何在不使用临时文件的情况下在 UIWebview 中打开受密码保护的 PDF/DOC?

我们正在尝试在 UIWebview 中打开受密码保护的 PDF/DOC 文件。出于安全考虑,我们只能从服务器中检索文件并存储到内存中(即 NSData),而不能存储为文件。

我们尝试在 UIWebiew 中使用 loaddata 功能,它只能成功加载没有密码保护的 doc/xls/ppt/pdf。

对于带有密码的doc/xls文件,它显示“无法读取文档。操作无法完成(QuickLookErrorDomain错误44820/912”。请问如何在UIWebview中打开文件?

对于带有密码的 pdf 文件,它显示“文档“空白”受密码保护”。请问我们如何显示正确的文档名称而不是“Blank”?

我还搜索了 cgpdf 并知道如何将 pdf 文件解锁为 CGPDFDocumentRef,但找不到将其更改回 NSData 并直接输入 UIWebview 的方法。

谢谢。

0 投票
3 回答
929 浏览

ios - CGPDFPage 绘图导致内存问题(Swift 3)

我目前正在开发一个应用程序,我想在 UICollectionView 之上实现一个 PDF 阅读器。

我在每个呈现相应 PDF 页面的单元格上使用自定义 UIView:

到目前为止,一切都很好。它在单元格上呈现页面,但会导致内存问题。

在此处输入图像描述

不知何故,上下文保持对集合视图单元格上呈现的所有页面的引用,并且它们没有被释放。CGPDFPageRelease 不再可用。:(

另一方面,如果这个 uiview 子类在滚动视图中放大,我如何重绘 pdf 以保证质量不下降?

任何帮助将不胜感激。谢谢!

0 投票
1 回答
513 浏览

ios - 在swift 3的函数中将UnsafeMutablePointer传递给Ref Object

我正在快速开发一个 pdf 解析器,所以我偶然发现了函数 CGPDFScannerPopString,它需要一个 CGPDFScannerRef 和一个 UnsafeMutablePointer?

Objective C 代码如下所示:

我如何在 swift 3 中写这个?

0 投票
2 回答
2342 浏览

swift - 如何在 Swift 中的 PDF 上绘制一些东西?

这是我目前正在做的事情。

首先,我拿到文件。接下来,我创建一个 PDF 视图并将文档分配给该视图。然后我创建一个视图并在视图中进行绘图,然后将该视图作为子视图添加到 PDFView。然后我将 PDFView 转换为数据,然后转换为 PDF 文档。由于我在 PDF 的第一页上进行绘图,因此我从原始 PDF 中删除了第一页,插入新的第一页,然后返回文档。

有一个更好的方法吗?为了增加皱纹,我的最终产品有一个奇怪的滚动条图像(见截图)。我尝试添加自动隐藏滚动条和 enclosingScrollView?.hasVerticalScroller = false 但似乎都没有隐藏滚动条。

提前致谢!

滚动条图片

0 投票
2 回答
545 浏览

ios - 具有旋转支持的 CGPDF drawPDFPage

我在 iOS 10 下使用 CGPDF 保存 PDF 文件。为此,我加载现有的 PDF 页面,并将其写入具有上下文的新文件。这样做时,旋转信息会丢失,并且生成的 PDF 文件的所有页面都重新排列在 0°。

然后我想出了这段代码,它可以很好地处理旋转,但似乎以轻微的偏移量绘制内容。将它与具有文本或其他任何接近页边距的 PDF 一起使用会导致内容被截断。后来尝试在 pageInfo 字典上设置 x、y 等,但我想我在这里误解了一些东西,请参阅下面的第二个问题。

所以我的问题,

1)如何使用第一种方法但有旋转支持?还是第二个,但没有裁剪内容?

2) 在哪里可以找到此方法的所有可用 pageInfo 键值对的完整列表?https://developer.apple.com/reference/coregraphics/cgcontext/1456578-beginpdfpage

谢谢!

0 投票
0 回答
132 浏览

ios - 使用 CGPDF 在带有 Objective-C 的 iOS 9/10 中显示 PDF 时的空白视图

我使用 Quartz Core 和 CGPDF 在我的应用程序中显示可缩放的 PDF 已经有一段时间了,但是自从 Xcode 8 并试图使我的应用程序与 iOS 9 和 10 兼容后,PDF 代码似乎已经损坏。这是我一直在使用的代码:

滚动视图显示,但页面是空白的。PDF 是从正确的目录加载的。谁能给我一个提示我错过了什么?谢谢!

0 投票
0 回答
388 浏览

ios - 快速编写 PDF 文本解析器

我目前正在快速开发一个 pdf 文本解析器。我正在查看 PDFKittens 代码,并在将 CGPDFStringRef 作为参数的 stringwithpdfstring 方法(在 SimpleFont.m 中)中找到了这一点。

根据我的理解 *bytes 是一个 CChar,这个方法到底是什么迭代槽?当我将此代码翻译为 swift 时,我收到 Type UnsafePointer? 没有下标成员。 swift中那个目标c代码的等价物是什么......?

0 投票
1 回答
279 浏览

ios - Swift 字典不想从 C 回调函数中填充

我正在用 Swift 编写 PDF 解析器,并且已经达到了使用回调函数 (CGPDFDictionaryApplyFunction) 获取所有字体数据的地步,getFont 函数应该填充 PDFFontCollection 类中的字体字典。在“getFont”回调函数中,集合变量被正确填充 - 但是当回调完成时,字体字典仍然有 0 个条目。

0 投票
1 回答
559 浏览

ios - 阅读 PDF 时如何从这些回调中获取值?

我正在尝试阅读 PDF 文件。下面的回调也打印消息,但我无法从 PDF 中获取任何信息。

输出:

但是我不确定如何从中获取实际的字符串?任何建议将不胜感激。

0 投票
1 回答
1159 浏览

swift - 如何从 CGPDFPage 获取 PDF 框大小

我遇到了错误,但是我尝试在 Swift 中获取 PDF 页面的媒体框。:

我也试过:

以及 using PDFDisplayBox.mediaBoxmediaBox以及几乎所有其他变体。它在 python 中运行良好。我也可以使用PDFPage(而不是CGPDFPage)获得信息,但我需要CGPDFPage用于其他PDFPage不能做的事情。)

第二部分是:据我所知, mediaBox 结果不考虑旋转。所以横向页面可能有一个旋转 90 度的纵向媒体框。有没有简单的方法来获得“实际”显示尺寸,或者我必须自己进行转换?