6

我正在使用 FastReports,其生成的 PDF 无法在 iOS 上正确读取。因为 iOS 读取 PDF/A,FastReports 不支持。这显然是 FastReports 4.0 中的一个已知错误,它将在 FastReports 5.0 中修复。然而,5.0 的路还很长,并且已经开发了多年。

所以我的简单解决方案——我更喜欢一个尽可能简单的解决方案,这样我可以在 FastReports 5.0 发布后再次删除它——现在只需将现有 PDF 打印到另一个 PDF。这可以在不在系统上安装 PDF 打印机而只使用 Delphi 的情况下完成吗?

如果没有,是否有接受 PDF 文件并输出 PDF 文件的转换器?

4

7 回答 7

5

尝试使用 SynPDF。它是开源的,结果很好,同时将文件大小管理到非常可接受的水平。它生成 PDF/A 文档。

可以在以下位置找到快速报告导出单元:

http://synopse.info/forum/viewtopic.php?id=781

于 2013-05-07T15:02:41.077 回答
3

我发现了我的问题。解决方案是在 PDF 中启用嵌入字体,因为我使用的是 Tahoma 和 Arial,这两种字体在 iOS上不可用。我假设我最初禁用了此功能,以保存文件大小。

但我意识到我很乐意发送一个大文件,甚至发送到 iOS 设备。所以嵌入字体是我的解决方案。

但我想提一下yms的另一个答案,它建议使用 Helvetica(因为 Tahoma 和 Arial 是无衬线字体),因为这在包括 iOS 在内的大多数平台上都可用。或者 - 也许正如我从描述中收集的那样 - PDF 引擎的一部分,而不是平台上的内容。

然而,尽管如此,我仍然认为为了确保 PDF 真正可移植(PDF 中的 P),应该嵌入所有字体,无论它们是否可用。因为——谁知道呢?- 您可能有一些用户的 PDF 阅读器没有。哦,它只适用于“简单字体”,而不是 CID 字体。必须嵌入 CID 字体。

实际上; 据我了解,Arial 是 PDF 规范中 Helvetica 的别名,因此它会加载 Helvetica;但它不起作用,因为它是 CID 字体。

于 2013-05-07T14:46:46.437 回答
1

Delphi, and most high level languages, allow for running subprocesses. You can use that to spawn and control ghostscript. I've successfully used this to read and convert pdfs from various proprietary, and broken, formats into properly constructed, smaller pdfs. There are quite a few options, so you will need to play around with it to get your settings correct.

于 2013-05-07T12:25:39.277 回答
1

PDF 的创建在技术上是对新的空 PDFl 的编辑。最简单的解决方案是“查看 PDF” - 将它们渲染到TBitmap- 然后将其复制到新的 PDF 上TCanvas。但这会杀死所有矢量信息......所以可能虚拟负载 - >假装编辑 - >保存到新文件将能够做到这一点

https://stackoverflow.com/search?q=%5Bdelphi%5D+PDF+edit - 很多为 Delphi 讨论的 PDF 库,您可以下载它们并一个接一个地尝试,检查不同的库如何适合这种类型和您使用的文档的功能范围。

我没有将这个问题标记为重复,只是因为不知道哪一个最适合这里。

于 2013-05-07T11:49:34.907 回答
0

我没有亲自尝试过,但 Gnostice eDocEngine 应该做你想做的事。

http://www.gnostice.com/edocengine_vcl.asp

eDocEngine 可以在剪贴板、PDF、RTF、HTML、XHTML、EXCEL、TEXT、CSV、Quattro Pro、LOTUS 1-2-3、DIF、SYLK、TIFF、PNG、SVG(基于 XML 的矢量图形)、JPEG、 GIF、BMP、EMF 和 WMF 格式。eDocEngine 带有即用型报表导出接口,这些接口与流行的 Delphi 报表工具(如 ReportBuilder、FastReport、Rave、QuickReport 和 Ace Reporter)紧密集成。

于 2013-05-07T11:44:04.733 回答
0

这是一个旧帖子,但我们遇到了同样的问题。我们使用来自http://www.wptools.de/的组件解决了这个问题。wpdf 工具中的一个小 dll 可为 windows、ios 和 android 生成完美的 pdf。文件显示正确的字体并且不是那么大。

于 2014-02-27T09:43:10.943 回答
0

大约 12 个月前,我遇到了类似的情况,最终购买了 llpdflib ( http://www.llion.net/llpdflib.php ),因为我等不及 Fast Report VCL 5。它运行良好PDF/A 和更小尺寸的 PDF。

于 2013-05-07T13:31:20.480 回答