如何使用C ++程序从PDF文件中提取页面尺寸?
是否有任何轻量级,跨平台,易于构建/安装的库可以提供帮助?
谢谢:)
[编辑]
我尝试在windows下构建podofo,但它没有用。 LibHaru和PDFHummus用于渲染pdf,而不是解析数据。
[EDIT&溶液]
我终于在windows下构建了podofo!
(顺便说一句,在Ubuntu下,这只是sudo apt-get install libpodofo0.9.0 libpodofo-dev libpodofo-utils
的问题)
这实际上是一个CMake 2.8.10错误,切换回2.8.3解决了问题(thanks)
如果有人有兴趣,这里是如何开始使用windows下的podofo(我将演示如何构建调试/共享版本):
LIB_NAME\lib
中C:\libraries\lib
下的所有文件,同样的事情\include
)PATH
C:\downloads\podofo-0.9.2
C:\downloads\podofo-0.9.2\podofo-shared-debug
cd C:\downloads\podofo-0.9.2\podofo-shared-debug
运行此命令为podofo的调试/共享版本准备MinGW makefile
cmake -G "MinGW Makefiles" .. -DCMAKE_INCLUDE_PATH=C:\libraries\include -DCMAKE_LIBRARY_PATH=C:\libraries\lib -DPODOFO_BUILD_SHARED:BOOL=TRUE -DCMAKE_BUILD_TYPE=DEBUG
然后只需调用make
mingw-make.exe
如果您使用的是代码块,请按以下步骤安装/使用podofo:
9.1。复制以下
podofo-0.9.2\podofo --> C:\libraries\podofo-0.9.2\include\podofo
podofo-0.9.2\src --> C:\libraries\podofo-0.9.2\include\src
podofo-0.9.2\podofo-shared-debug\podofo_config.h --> C:\libraries\podofo-0.9.2\include\podofo_config.h
podofo-0.9.2\podofo-shared-debug\src\libpodofo.dll.a --> C:\libraries\podofo-0.9.2\lib-shared-debug\libpodofo.dll.a
podofo-0.9.2\podofo-shared-debug\src\libpodofo.dll --> C:\libraries\podofo-0.9.2\bin-shared-debug\libpodofo.dll
9.2。在链接器选项中使用-lpodofo
,然后将C:\libraries\podofo-0.9.2\include
添加到编译器的搜索目录,将C:\libraries\podofo-0.9.2\lib-shared-debug
添加到链接器的搜索目录
回到我的初始问题,最接近的答案是“如何使用C ++程序从PDF文件中提取页面尺寸(使用podofo)?”是这样的:
#include <iostream>
#include <podofo/podofo.h>
int main (int argc, char* argv[])
{
PoDoFo::PdfMemDocument document;
try
{
document.Load("path/to/the/file.pdf");
}
catch (PdfError& e )
{
// a password is required to read this pdf
return -1;
}
try
{
PoDoFo::PdfRect pageSize = document.GetPage(0)->GetPageSize(); // yes, it's "0-based"
std::cout << "width: " << pageSize.GetWidth() << "\t\theight: " << pageSize.GetHeight() << std::endl;
}
catch (PdfError& e )
{
// page number error
return -2;
}
return 0;
}