我正在使用TCPDF php庫將我的svg轉換爲pdf。我的svg使用body,div和span的foreignObject來顯示文本中的一些註釋。 當我在瀏覽器中打開SVG時,它看起來很好,但是當我使用TCPDF將其轉換爲PDF時,我得到的空白空間中我的文本應該與獲取灰色背景一起顯示。來自SVG的外來對象未被轉換並以TCPDF出現在PDF中
回答
如果您在SVG中使用<foreignObject>
,那麼您需要一個轉換器,它不僅呈現SVG,還呈現HTML。也許有人銷售支持HTML的SVG轉換器,但我不知道其中之一。
SVG標準提供了<foreignObject>
元素,以便用戶可以將非SVG內容嵌入到SVG中。 SVG標準不要求SVG渲染器支持可能放置在foreignObject中的任何特定類型的內容。
瀏覽器在外部對象中支持HTML的事實顯然純粹是因爲它們是HTML查看器。
除了避免使用foreignObject外,沒有明確而明顯的解決方法。
如果您不關心SVG內容在轉換爲PDF時保留爲矢量,那麼您可以使用類似phantomjs的東西將SVG轉換爲位圖。然後將該位圖轉換爲PDF。這不是一個很好的解決方案。
我在Brower中沒有遇到任何問題,它的瀏覽器工作正常,但是當我在TCPDF中使用SVG時,foreignObject元素沒有出現。是的,我需要SVG留在矢量形式。我使用$ pdf-> ImageSVG($ file ='images/tux.svg',$ x = 30,$ y = 100,$ w ='',$ h = 100,$ link ='',$ align = '',$ palign ='',$ border = 0,$ fitonpage = false);用於從TCPDF添加PDF格式的svg –
祝您找到支持HTML的PDF格式的SVG轉換器。你可能不得不認真考慮改變你的SVG,使它們不使用'
@PaulLeBeau請看看「draw.io」是如何工作的。他們絕對使用svg中的foreignObject來顯示文本。然後使用一些服務器端轉換器將此svg轉換爲pdf。他們使用什麼轉換器? – krispo
- 1. 使用tcpdf在PHP中使用tcpdf的svg轉換爲pdf
- 2. tcpdf jQuery對象轉換問題到pdf
- 3. TCPDF自定義字體轉換問題時,SVG到PDF
- 4. 如何使用FPDI和TCPDF來實現ImageSVG()來呈現PDF?
- 5. 來自svg對象的href鏈接
- 6. 當使用TCPDF轉換爲PDF時,SVG變量顯示未定義的索引
- 7. 自定義未來對象
- 8. eps圖像(來自inkscape)沒有出現在tcpdf
- 9. SVG未出現在Firefox中
- 10. 將Java未來轉換爲Scala未來
- 11. 在Java中將對象轉換爲JSON時出現額外的意外部分
- 12. Excel VBA:來自太多未被破壞的對象的溢出錯誤?
- 13. 來自XSLT轉換的幻像輸出
- 14. 無法使用TCPDF生成來自MySQL查詢的PDF
- 15. 使用TCPDF將HTML轉換爲PDF
- 16. HTML到PDF轉換使用TCPDF
- 17. Tcpdf將當前網頁轉換爲PDF
- 18. 將SVG/PDF轉換爲EMF
- 19. 轉換來自未知來源的C#數據類型
- 20. Python:列出來自對象的變量
- 21. 來自JSON輸出的訪問對象
- 22. SVG圖標看起來被轉換爲WOFF
- 23. 在多線程庫中轉換未來
- 24. Spring Rest Data - 未在@RequestBody中轉換的外鍵對象URL
- 25. 旋轉SVG中的對象
- 26. ArrayList對象來分開數組轉換
- 27. com.fasterxml.jackson.databind.JsonMappingException而轉換JSON來對象
- 28. 轉換JSON來斯卡拉對象
- 29. TCPDF在現有PDF中插入頁面
- 30. 在TCPDF中插入SVG圖像時出現白色圖像
歡迎來到Stackoverflow。請閱讀以下鏈接以改善您的問題:[Tour](http://stackoverflow.com/tour)| [如何問](http://stackoverflow.com/help/how-to-ask)| [最小,完整和可驗證的例子](http://stackoverflow.com/help/mcve) – Tom