问题标签 [podofo]

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 投票
1 回答
422 浏览

c++ - 词法或预处理器问题 - Xcode 8.3.2 - Sierra 10.12.4

这确实很麻烦,我对此进行了很多研究,但最终未能解决。

正如您在打印屏幕中看到的那样,此路径在标题路径搜索中输入,它包含已安装 PoDoFo 的所有 .h 文件,包括 podofo-base.h 以及 PdfVersion.h

但是,我不知道为什么我会得到这个?

我和 EL Captain 一起阅读了很多解决方案,但没有一个和我一起工作,因为我有 Sierra。这些解决方案也适用于 xCode 7 及更早版本。

请帮忙!

Xcode 上错误的打印屏幕

0 投票
0 回答
148 浏览

c++ - PoDoFo:将条形码打印到 pdf

有没有人有这方面的经验?我正在尝试将条形码打印为 pdf。设置 Code128 字体的解决方案有效,但我想从 GNU 条形码库或其他条形码库中获取代码。

我查看了 PoDoFo 文档,但没有找到打印 barcdes 的功能。有这样的功能吗?

0 投票
1 回答
265 浏览

c++ - 使用 PoDoFo 获得的字符位移不正确

我正在使用 PoDoFo 提取字符位移以正确更新文本矩阵。这是我的一个代码片段:

它适用于某些 PDF 文件(str_w包含有用的宽度),但不适用于其他文件。在这些情况下str_w包含0.0. 我查看了 PoDoFo0.9.5源代码,发现CharWidth()所有子类都实现了PdfFontMetrics.

在这个字符串转换过程中我是否遗漏了一些重要的东西?

从 04.08.2017 更新

@mkl 在审查 PoDoFo 的代码方面做得非常好。但是,我意识到我必须获得一些不同的参数。准确地说,我需要一个以文本空间单位表示的字形宽度(请参阅PDF 参考1.7、5.1.3 Glyph Positioning and Metrics ) ,但其实现方式如下:CharWidth()PdfFontMetricsObject.cpp

宽度是使用附加乘数(如字体大小、字符空间等)计算的。我真正需要的dWidth * m_matrix.front().GetReal()只是。因此,我决定GetGlyphWidth(int c)从同一个文件中实现,例如:

并调用这个而不是CharWidth()从第一个列表中调用。

0 投票
1 回答
16028 浏览

c++ - 在 CMakeList.txt 文件中包含 OpenSSL

我有一个问题要问在 C++ 中使用 CMakeList.txt 的人。我想使用Podofo项目(解析和创建 pdf 的项目)。

所以我的主要功能很简单:

我的 CMakeList.txt 是:

但我遇到了这个错误:

我试图包含find_package, find_library.. 设置一些变量,但我没有找到方法。

我的环境是:

  • 苹果系统
  • 克莱恩
  • Podofo 通过 home-brew 安装/usr/local/podofo
  • OpenSSL 通过 home-brew 安装/usr/local/opt/openssl

感谢提前社区!

0 投票
1 回答
745 浏览

c++ - 使用 eclipse 设置 PoDoFo,链接器错误,未定义对符号 'pthread_mutexattr_settype@@GLIBC_2.2.5' 的引用

我正在尝试在 Eclipse OS 中为 C++ 设置 PoDoFo - Ubuntu 16.04 LTS
Podofo 链接 - http://podofo.sourceforge.net/download.html

我下载了最新版本并执行了以下步骤

到目前为止一切正常。这会在我的 /usr/local/lib 目录中创建一个libpodofo.a文件

在 C++ 链接器下的 Eclipse 中,我将库搜索路径(-L)添加为 /usr/local/lib 并在库(-l)中添加了 podofo eclipse 中 G++ 链接器的屏幕截图

然后我为 podofo Link 运行了一个 Hello world 示例:http: //podofo.sourceforge.net/examplehelloworld_cpp.html

make all 构建目标:opencvtest 调用:GCC C++ Linker g++ -L/usr/local/lib -L/lib/x86_64-linux-gnu -o"opencvtest" ./src/opencvtest.o ./src/podofo_test.o - lopencv_imgcodecs -lpodofo -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_flann /usr/bin/ld: /usr/local/lib/libpodofo.a(PdfEncodingFactory.cpp.o):未定义的符号引用'pthread_mutexattr_settype@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libpthread.so.0:添加符号时出错:命令行makefile中缺少DSO:45:目标'opencvtest'的配方失败collect2:错误:ld返回1 退出状态 make: *** [opencvtest] 错误 1

ldconfig -p 给了我以下信息: ldconfig -p | grep pthread.so grep:警告:不推荐使用 GREP_OPTIONS;请使用别名或脚本 libpthread.so.0 (libc6,x86-64, OS ABI: Linux 2.6.32) => /lib/x86_64-linux-gnu/libpthread.so.0 libgpgme-pthread.so.11 ( libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgpgme-pthread.so.11

有人可以帮我摆脱这个错误吗,我应该添加什么配置来解决这个问题,也欢迎任何建议的阅读。

如果需要任何其他信息,请告诉我。提前致谢。

0 投票
1 回答
393 浏览

c++ - 无法加载 PDF 文档

我对 Ubuntu 17.10 上的 C++ 中的 PoDoFo lib 版本 0.9.5 有疑问。我尝试通过扫描仪加载 PDF 扫描文档(使用非扫描文档,它可以正常工作),但加载文档时出现问题。

memDocumentPoDoFo::PdfMemDocument,但我发现了这个警告,并且根本没有加载文档(仍然是 null ref of memDocument):

有人有同样的问题吗?或者有什么想法?

0 投票
1 回答
67 浏览

pdf - PoDoFo:获取流的 ID

有谁知道如何在 XObject 中获取流的“ID”?我需要获取 ID 作为字符串,如下图所示 - /Im0

在此处输入图像描述

在我的 C++ 代码中,我完全拥有 XObject 作为 PoDoFo::PdfReference 但不知道如何获取此 ID。

0 投票
0 回答
146 浏览

c++ - 使用 pdf 页面中的 podofo 提取图像坐标(仅其 x、y、宽度、高度)

这是此链接上的修改问题 从 pdf 页面中提取带有 podofo 的图像

上面的链接显示了如何按页面识别图像。

我需要知道如何只协调图像,即它是 (x,y) 点和宽度和高度,而不是提取。

任何人都可以让我知道我如何得到它?

0 投票
2 回答
472 浏览

c++ - 仅从 PDF 文件中复制必要的对象

我有一个超过 100 页的巨大 PDF 文件,我想将它们分成单个 PDF 文件(每个文件只包含一页)。问题是,PoDoFo 不只是复​​制页面,而是因为引用而复制整个文档(因此 100 个 PDF 文件中的每一个都具有与 100 页 PDF 相同的大小)。相关的邮件列表帖子,遗憾的是没有提供解决方案。

在函数的源代码中InsertPages有解释:

此功能的工作方式与人们预期的略有不同。而不是一次复制一页 - 我们复制整个文档,然后删除我们不感兴趣的页面。

我们这样做是因为
1) 显着简化了流程
2) 保证共享对象不会被多次复制
3) 为常见情况提供更快的性能

但是:因为 PoDoFo 目前在 Write() 期间没有进行任何类型的“对象垃圾收集”——我们最终会得到更大的文档,因为来自未使用页面的数据也将在那里。

我尝试了几种方法来仅复制相关对象,但每种方法都失败了。

  • 复制所有页面并删除不相关的页面
  • 使用 XObject 包装:FillXObjectFromDocumentPageFillXObjectFromExistingPage
  • 逐个对象复制
  • RenumberObjects与_bDoGarbageCollection = true

但他们都没有成功。有人对这个问题有想法或可行的解决方案吗?

0 投票
0 回答
59 浏览

c++ - 使用 podofo 库添加重复的标题

尝试将文本标题添加到使用 pofodo PDF 库创建的多页 PDF 报告中。在 pofodo 的 API 文档中似乎找不到执行此操作的函数。我正在尝试查看是否有可以添加文档宽标题(每页上的重复文本标题)的功能。

我可以添加文本并设置为不同的字体,使其作为标题/页眉脱落。我想看看是否有一种方法可以通过一个 api 调用来添加一个文档范围的标题。