簡體   English   中英

在 PDF 中搜索/更新圖形

[英]Search/Update Graphics in a PDF

有什么辦法可以在PDF頁面中搜索到圖片嗎?

例如,我使用PyFPDF 庫生成了一個 PDF ,其中包含幾個矩形和圓形(代碼如下)。 現在我想

  • 獲取每頁中打印的省略號及其位置的列表。
  • 並將所有圓圈的顏色更新為藍色

有沒有允許這樣做的圖書館?


PDF 生成幾個矩形和圓形:

使用以下代碼生成的示例 PDF:下載 PDF

from fpdf import FPDF

# Prepare PDF generator
pdf = FPDF(orientation = 'L', unit = 'in', format = 'A4')
pdf.add_page()
pdf.set_fill_color(0, 0, 0)

# Draw the rectangle
pdf.rect(x = 1, y = 1, w = 2, h = 2, style = 'S')
pdf.rect(x = 1.5, y = 1.5, w = 5, h = 1, style = 'S')
pdf.ellipse(x = 1, y = 4, w = 1, h = 1, style = 'S')
pdf.ellipse(x = 4, y = 5, w = 1, h = 1, style = 'S')
pdf.ellipse(x = 9, y = 2, w = 1, h = 1, style = 'F')
pdf.rect(x = 6, y = 5, w = 2, h = 1, style = 'F')

# Write to file
pdf.output("test.pdf")

NOT YOUR ANSWER 只是一個視覺評論

手工解剖和重建並不容易,所以使用了一些快捷方式。 但是 pdf 提供的所有向量只有一個黑色編碼 stream object 看起來像這樣

4 0 obj
<</Filter /FlateDecode /Length 251>>
stream
xœU’»q!„sª 3舜ºÆ¿#'Nܾ-.‚ïЮVßCN¥Åß¹äœãWh<7±°$¶Hª‹Þ°þ|Æ@ÙÖ^­­
©yW¸Ì¼˜­‚ïcÂÕHÜ’M]Þr˜F0KÄÝ:€›ÄäBIstK¹,A# á9E>£ŽóPïÌÔWQ¹¼„õÑI²^9ØìR‚à;ÂáÖW(©Êåš¾Þõœ"!”¼k‚Æû‹Rñ   ÏTëóöÒ²'®¶;F¨uç8§j—òaZ°ô²r@)­_¾ ù·¼+‰ |æñTøº×óÿ_Ø+ü)„Ÿ
endstream
endobj

因此,在一個簡單的層面上,所有的東西都可以同時作為藍色的前綴。 但是,如果我們解碼 stream,則更容易為描邊 stream 的每個部分注入顏色,我將堆棧目標標記為綠色,並為藍色注入 0 0 1 rg(方塊末端和 c hords的 1 組和 0 g 停止圖形在時間之間變化

在此處輸入圖像描述

因此,與許多 PDF 問題一樣:-

我可以將 PDF 逆向工程為“其他的那個,這個做”答案是在源頭上做

$pdf->SetDrawColor(0,0,0);
$pdf->Circle(100,50,30,'D');
$pdf->SetFillColor(0,0,255);
$pdf->Circle(110,47,7,'F');

暫無
暫無

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

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