簡體   English   中英

如何逐頁獲取具有整個文件內容的base64的PDF文件的內容?

[英]How to get content of a PDF file page by page having base64 of the whole file content?

我有一個像JVBERi0xLjIgDSXi48/T...這樣的 base64 格式的 PDF 文件的內容。

我怎樣才能解析它以獲得它每一頁的base64?

假設 PDF 文件有 5 頁。 如何獲取base64中每個頁面的內容? 我已經谷歌它但找不到任何東西。 任何幫助表示贊賞。

通常,甚至不可能逐頁分離原生PDF 文件的內容(正如您將看到的,當文件采用 base64 編碼時,就不可能這樣做)。

PDF 文件的最一般結構是,按以下順序:

  1. PDF標題
  2. PDF 對象(文件正文)
  3. PDF 外部參照表(目錄,給出每個 PDF 對象的文件偏移位置)
  4. PDF預告片

您不能假設 PDF 對象在文件中的顯示順序與頁面在 PDF 查看器中的顯示順序相同。

如果您提取單個頁面,該頁面本身需要是一個有效的 PDF 文檔:包含(以相同的順序)頁眉、對象、外部參照和尾部,其中外部參照和尾部需要重新構建以匹配新文檔(外部參照和預告片不能簡單地從原始文檔中復制)。

因此,在考慮訪問生成的 PDF 的單個頁面之前,您需要完全解碼 base64 編碼的文件。

要從使用 base64 編碼的 5 頁 PDF 文檔中獲取所有單獨的 PDF 頁面作為 base64,您必須執行以下步驟:

  1. 將完整的 base64 文件解碼為有效的 5 頁 PDF 文檔。
  2. 將 5 頁 PDF 文檔拆分為 5 個單獨的 1 頁 PDF 文檔。
    (您需要為此了解“PDF 游戲規則”,或使用知道的 PDF 庫)
  3. 使用 base64 對每個 1 頁 PDF 文檔進行編碼。

你可能想澄清你的答案。 從您的措辭中看不出您是要在 base64 中編碼還是從中解碼。

假設你想解碼(因為你說你有 base64),有可用的標准庫: Decode Base64 data in Java

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM