欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python插入SVG到PDF文檔中的方法示例

 更新時間:2024年08月25日 10:52:30   作者:Eiceblue  
將SVG(可縮放矢量圖形)文件插入到PDF(便攜式文檔格式)文件中不僅能夠保留SVG圖像的矢量特性,確保圖像在任何分辨率下都保持清晰,使得技術(shù)文檔、手冊、報告等內(nèi)容更加豐富多樣且易于傳播,本文將介紹如何使用Python插入SVG文件到PDF文檔中,需要的朋友可以參考下

引言

將SVG(可縮放矢量圖形)文件插入到PDF(便攜式文檔格式)文件中不僅能夠保留SVG圖像的矢量特性,確保圖像在任何分辨率下都保持清晰,還能夠充分利用PDF格式在跨平臺文檔分享方面的優(yōu)勢,使得技術(shù)文檔、手冊、報告等內(nèi)容更加豐富多樣且易于傳播。使用Python可以輕松實現(xiàn)SVG到PDF的插入。本文將介紹如何使用Python插入SVG文件到PDF文檔中。

文所使用的方法需要用到Spire.PDF for Python,PyPI:pip install Spire.PDF。

用Python插入SVG到PDF頁面

我們可以PdfDocument.LoadFromFile()方法載入并讀取SVG文件內(nèi)容,然后使用PdfPageBase.Canvas.Draw()方法將其繪制在PDF頁面上來實現(xiàn)插入SVG文件內(nèi)容到PDF頁面上。以下是詳細操作步驟:

  1. 導入所需模塊。
  2. 創(chuàng)建PdfDocument對象并使用PdfDocument.LoadFromFile()方法載入PDF文件。
  3. 創(chuàng)建另一個PdfDocument對象并使用PdfDocument.LoadFromFile()方法載入SVG文件。
  4. 使用PdfDocument.Pages.get_Item(0).CreateTemplate()方法讀取SVG文件內(nèi)容創(chuàng)建模板。
  5. 使用PdfDocument.Pages.get_Item().Canvas.DrawTemplate()方法將SVG文件內(nèi)容繪制在PDF頁面上。
  6. 使用PdfDocument.SaveToFile()方法保存文檔。
  7. 釋放資源。

代碼示例

from spire.pdf import PdfDocument, PointF, SizeF, FileFormat

# 創(chuàng)建PdfDocument實例并加載PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("Sample.pdf")

# 創(chuàng)建另一個PdfDocument實例并加載SVG文件
svg = PdfDocument()
svg.LoadFromFile("圖表.svg", FileFormat.SVG)

# 創(chuàng)建SVG文件的模板
svgTemplate = svg.Pages.get_Item(0).CreateTemplate()

# 在現(xiàn)有PDF文件的頁面上繪制模板
pdf.Pages.get_Item(0).Canvas.DrawTemplate(svgTemplate, PointF(60.0, 420.0), SizeF(490.0, 230.0))

# 保存PDF文件
pdf.SaveToFile("output/繪制SVG到PDF.pdf")
pdf.Dispose()

結(jié)果

用Python將SVG作為附件嵌入PDF

我們還可以將SVG文件作為附件直接嵌入到PDF文檔中,瀏覽文檔時點擊附件即可查看SVG文件內(nèi)容。需要注意的是,直接嵌入的附件只會在PDF查看器的附件欄顯示。以下是詳細操作步驟:

  1. 導入所需模塊。
  2. 創(chuàng)建PdfDocument對象并使用PdfDocument.LoadFromFile()方法載入PDF文檔。
  3. 創(chuàng)建PdfAttachment對象以創(chuàng)建一個附件。
  4. 創(chuàng)建Stream對象,將SVG文件載入為流。
  5. 使用Stream.ToArray()方法將SVG文件流轉(zhuǎn)換為字節(jié)數(shù)組,并通過PdfAttachment.Data屬性將其設(shè)置為附件的數(shù)據(jù)。
  6. 通過PdfAttachment.DescriptionPdfAttachment.MimeType屬性設(shè)置附件的說明和MIME類型。
  7. 使用PdfDocument.Attachments.Add()方法將附件添加到PDF文檔中。
  8. 使用PdfDocument.SaveToFile()方法保存文檔。
  9. 釋放資源。

代碼示例

from spire.pdf import PdfDocument, Stream, PdfAttachment

# 創(chuàng)建PdfDocument實例并加載PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("Sample.pdf")

# 創(chuàng)建PdfAttachment實例
svgAttachment = PdfAttachment("圖表.svg")

# 加載SVG文件為流
svgStream = Stream("圖表.svg")

# 設(shè)置SVG流作為附件數(shù)據(jù)
svgAttachment.Data = svgStream.ToArray()

# 設(shè)置附件描述和MIME類型
svgAttachment.Description = "這是一個SVG文件"
svgAttachment.MimeType = "image/svg+xml"

# 將附件添加到文檔中
pdf.Attachments.Add(svgAttachment)

# 保存文檔
pdf.SaveToFile("output/插入SVG附件到PDF.pdf")
pdf.Dispose()

結(jié)果

用Python將SVG作為附件注釋嵌入PDF

除了將SVG文件直接作為附件嵌入到PDF文檔中,我們還可以將SVG文件作為注釋的附件嵌入到PDF文檔中,從而在文檔頁面上提示附件信息。注釋附件能夠在頁面上顯示為圖表,并且能夠直接點擊進行查看。以下是詳細操作步驟:

  1. 導入所需模塊。
  2. 創(chuàng)建PdfDocument對象并使用PdfDocument.LoadFromFile()方法載入PDF文檔。
  3. 使用SVG文件創(chuàng)建一個PdfAttachmentAnnotation對象從而創(chuàng)建一個附件注釋。
  4. 使用PdfAttachmentAnnotation類下的屬性設(shè)置注釋格式。
  5. 使用PdfPageBase.AnnotationsWidget.Add()方法將附件注釋添加到PDF頁面上。
  6. 使用PdfDocument.SaveToFile()方法保存PDF文檔。
  7. 釋放資源。

代碼示例

from spire.pdf import PdfDocument, PdfAttachmentAnnotation, RectangleF, Color, PdfAnnotationFlags, PdfAttachmentIcon, \
    PdfRGBColor

# 創(chuàng)建PdfDocument實例并加載PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("Sample.pdf")

# 創(chuàng)建PdfAttachmentAnnotation實例
rect = RectangleF.FromLTRB(90.0, 420.0, 120.0, 450.0)
svgAnnotation = PdfAttachmentAnnotation(rect, "圖表.svg")

# 設(shè)置注釋屬性
svgAnnotation.Color = PdfRGBColor(Color.get_Blue())
svgAnnotation.Flags = PdfAnnotationFlags.NoZoom
svgAnnotation.Icon = PdfAttachmentIcon.Graph
svgAnnotation.Text = "SVG圖表"

# 將注釋添加到第一頁
pdf.Pages.get_Item(0).AnnotationsWidget.Add(svgAnnotation)

# 保存文檔
pdf.SaveToFile("output/插入SVG附件注釋到PDF.pdf")
pdf.Dispose()

結(jié)果

本文介紹了如何使用Python將SVG文件插入到PDF文檔中,包括直接將SVG文件內(nèi)容插入到PDF頁面和將SVG文件作為附件嵌入到PDF文檔中。

以上就是使用Python插入SVG到PDF文檔中的方法示例的詳細內(nèi)容,更多關(guān)于Python插入SVG到PDF的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用TFRecord存取多個數(shù)據(jù)案例

    使用TFRecord存取多個數(shù)據(jù)案例

    今天小編就為大家分享一篇使用TFRecord存取多個數(shù)據(jù)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 詳細解析Python當中的數(shù)據(jù)類型和變量

    詳細解析Python當中的數(shù)據(jù)類型和變量

    這篇文章主要介紹了Python當中的數(shù)據(jù)類型和變量,是Python學習當中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-04-04
  • 如何在pyqt中實現(xiàn)全局事件實戰(zhàn)記錄

    如何在pyqt中實現(xiàn)全局事件實戰(zhàn)記錄

    事件的處理機制非常的復雜,屬于PyQt底層的事,不必我們關(guān)心,學會使用就行,下面這篇文章主要給大家介紹了關(guān)于如何在pyqt中實現(xiàn)全局事件的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Python保存數(shù)據(jù)到文件的實現(xiàn)方式

    Python保存數(shù)據(jù)到文件的實現(xiàn)方式

    這篇文章主要介紹了Python保存數(shù)據(jù)到文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python語言編寫電腦時間自動同步小工具

    Python語言編寫電腦時間自動同步小工具

    家里有臺很多年前買的電腦,CMOS電池殘廢了,經(jīng)常遇到開機后系統(tǒng)時間被重置的情況
    2013-03-03
  • Django實現(xiàn)列表頁商品數(shù)據(jù)返回教程

    Django實現(xiàn)列表頁商品數(shù)據(jù)返回教程

    這篇文章主要介紹了Django實現(xiàn)列表頁商品數(shù)據(jù)返回教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python判斷圖片寬度和高度后刪除圖片的方法

    python判斷圖片寬度和高度后刪除圖片的方法

    這篇文章主要介紹了python判斷圖片寬度和高度后刪除圖片的方法,涉及Python中os模塊與Image模塊的相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • 利用PyTorch進行模型量化的全過程

    利用PyTorch進行模型量化的全過程

    模型量化是一種降低深度學習模型大小和加速其推理速度的技術(shù),它通過減少模型中參數(shù)的比特數(shù)來實現(xiàn)這一目的,本文給大家介紹了利用PyTorch進行模型量化的全過程,需要的朋友可以參考下
    2024-07-07
  • Python詳解文字轉(zhuǎn)語音的實現(xiàn)

    Python詳解文字轉(zhuǎn)語音的實現(xiàn)

    在自然語言處理上,文字、音頻互轉(zhuǎn)是一個很關(guān)鍵的技術(shù)點。對于語音轉(zhuǎn)文字,個人實現(xiàn)較為困難,我們可以使用語音轉(zhuǎn)文字的軟件或借助各API(如科大訊飛等)進行移植開發(fā)。不過文字轉(zhuǎn)語音就相對而言容易實現(xiàn)很多了
    2022-02-02
  • Pandas數(shù)據(jù)分組統(tǒng)計的實現(xiàn)示例

    Pandas數(shù)據(jù)分組統(tǒng)計的實現(xiàn)示例

    對數(shù)據(jù)進行分組統(tǒng)計,主要適用DataFrame對象的groupby()函數(shù),本文就來詳細的介紹下Pandas數(shù)據(jù)分組統(tǒng)計的實現(xiàn),具有一定的參考價值,感興趣的可以了解下
    2023-11-11

最新評論