0
  1. 从 amazon s3 读取 pdf 文件(使用 boto)
  2. 在本地保存为 123.pdf
  3. 使用 PDFLib/TET 打开并解析本地保存的 pdf

我目前能够执行上述所有 3 个步骤,但我想跳过第 2 步以节省磁盘 I/O。

看起来可以使用 tet_open_document_mem 使 TET 在内存中打开文档,但是没有关于如何使用文档的文档。

4

1 回答 1

1

TET 提供所谓的 PDFlib 虚拟文件系统 (PVF) 来处理这种情况。

您可以使用 create_pvf() 从内存中提供的数据创建一个命名的虚拟只读文件。

API 如下所示(C):

void TET_create_pvf(TET *tet, const char *filename, int len, const void *data, size_t size, const char *optlist)

所以它可以这样使用:

TET_create_pvf(tet, pvfname, 0, data, length, "");
doc = TET_open_document(tet, pvfname, 0, docoptlist);

更多详细信息可在 TET 手册http://www.pdflib.com/fileadmin/pdflib/pdf/manuals/TET-4.3-manual.pdf中找到

TET_open_document_mem 是一个不再受支持的旧 API。

于 2014-06-20T09:04:38.130 回答