2013-08-26 69 views
1

我想將PDF頁面的背景圖像提取到SVG(使用xpdf庫)。我面臨的問題是,PDF包含額外的圖像/圖形(大概作物箱),而不是由PDF閱讀器呈現,但相應的SVG包含這些圖像/圖形。我嘗試將SVG的viewBox屬性設置爲對應於該PDF頁面的邊界的cropBox,但生成的SVG仍顯示一些未由PDF呈現的圖形對象。我還嘗試向SVG添加一個剪輯路徑 - 一個矩形剪輯區域(界限對應於PDF裁剪框),但這也不能消除PDF中看不到的其他圖形元素。任何想法可能是什麼問題?將PDF cropbox帶到SVG的正確方法是什麼?順便說一下,在上述兩種情況(viewbox和裁剪區域方法)中生成的SVG在尺寸上與PDF頁面的可視區域非常接近,並且僅在靠近邊緣處看到附加元素。是否從PDF中獲得的cropbox尺寸不應該直接用於SVG?從PDF頁面創建PDF cropbox和SVG之間的差異

+0

發佈樣本PDF文件和相應的SVG,我們來看看它。 – iPDFdev

+0

@iPDFdev謝謝!這是指向一個包含樣本PDF和相應SVG文件的zip文件的鏈接,以及由SVG的元素引用的PNG文件。您可能會注意到,SVG在其右側和底部有一些額外的區域,其中存在一些圖形元素(線條藝術),但這些在PDF中不可見:http://privatepaste.com/download/7510dd6ed8 – so2

+0

您是怎麼做到的將PDF文件轉換爲SVG?我試圖找到PDF中的值與SVG中的值之間的對應關係,我找不到任何值。 – iPDFdev

回答

0

原來,問題是由於我的代碼沒有將PDF cropbox屬性(如xpdf給出的)轉換爲使用CTM矩陣(也可以通過xpdf獲取)的用戶座標。應用轉換後,生成的SVG與PDF頁面的渲染部分相匹配。