gpt4 book ai didi

java - 如何逐页获取具有整个文件内容的base64的PDF文件内容?

转载 作者:行者123 更新时间:2023-11-30 06:16:07 25 4
gpt4 key购买 nike

我有一个 base64 格式的 PDF 文件内容,如 JVBERi0xLjIgDSXi48/T...

我如何解析它以获得它的每一页的base64?

假设 PDF 文件有 5 页。如何获取base64中每个页面的内容?我已经用谷歌搜索了,但找不到任何东西。感谢您的帮助。

最佳答案

通常,甚至不可能逐页分隔原生 PDF 文件的内容(如您将看到的,当文件采用 base64 编码时,就不可能这样做)。

PDF 文件的最一般结构按以下顺序排列:

  1. PDF 标题
  2. PDF 对象(文件主体)
  3. PDF 外部参照表(目录,给出每个 PDF 对象的文件偏移位置)
  4. PDF 预告片

您不能假定 PDF 对象在文件中的显示顺序与页面在 PDF 查看器中的显示顺序相同。

如果您提取单个页面,该页面本身需要是一个有效的 PDF 文档:包含(以相同的顺序)页眉、对象、外部参照和结尾,其中外部参照和结尾需要重新构建以便它们匹配新文档(不能简单地从原始文档复制外部参照和预告片)。

出于这个原因,您需要先完全对 base64 编码的文件进行解码,然后才能考虑访问生成的 PDF 的单个页面。

要从已使用 base64 编码的 5 页 PDF 文档中获取所有单独的 PDF 页面作为 base64,您必须执行以下步骤:

  1. 将完整的 base64 文件解码为有效的 5 页 PDF 文档。
  2. 将 5 页 PDF 文档拆分为 5 个单独的 1 页 PDF 文档。
    (为此您需要了解“PDF 游戏规则”,或者使用知道的 PDF 库)
  3. 使用 base64 对每个 1 页 PDF 文档进行编码。

关于java - 如何逐页获取具有整个文件内容的base64的PDF文件内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27883447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com