在 Python 中將 PPT 與 PPTX 轉換為 PDF | 高級選項
概述
將 PowerPoint 簡報(PPT、PPTX、ODP)轉換為 PDF 格式的 Python 程式具備多項優勢,包括確保在不同裝置間的相容性以及保留簡報的版面配置與格式。本指南示範如何將簡報轉換為 PDF 文件、使用各種選項控制影像品質、包含隱藏投影片、以密碼保護 PDF 文件、偵測字型替換、選取特定投影片進行轉換,以及套用合規標準於輸出文件。
PowerPoint 轉 PDF 轉換
使用 Aspose.Slides,您可以將以下格式的簡報轉換為 PDF:
- PPT
- PPTX
- ODP
要在 Python 中將簡報轉換為 PDF,只需將檔名作為參數傳入 Presentation 類別,然後使用 Save 方法將簡報儲存為 PDF。Presentation 類別公開了通常用於將簡報轉換為 PDF 的 Save 方法。
NOTE
Aspose.Slides for Python 會直接在輸出文件中寫入 API 資訊與版本號。例如,當它將簡報轉換為 PDF 時,Aspose.Slides for Python 會在 Application 欄位填入 ‘Aspose.Slides',在 PDF Producer 欄位填入 ‘Aspose.Slides v XX.XX’ 形式的值。注意,您無法指示 Aspose.Slides for Python 更改或移除這些資訊。Aspose.Slides 允許您轉換:
- 整個簡報至 PDF
- 簡報中指定的投影片至 PDF
Aspose.Slides 匯出簡報為 PDF,確保產生的 PDF 內容與原始簡報高度相符。轉換過程中會正確呈現以下元素與屬性:
- 圖片
- 文字方塊與圖形
- 文字格式
- 段落格式
- 超連結
- 頁首與頁尾
- 項目符號
- 表格
將 PowerPoint 轉換為 PDF
標準的 PowerPoint PDF 轉換作業使用預設選項執行。在此情況下,Aspose.Slides 會嘗試以最佳設定、最高品質等級將提供的簡報轉換為 PDF。以下 Python 程式碼示範如何將 PowerPoint 轉換為 PDF:
Steps: PowerPoint to PDF Conversions in Python
以下範例程式碼說明如何使用 .NET 透過 Python 進行這些轉換
- 步驟:使用 Python 透過 .NET 将 PowerPoint 轉換為 PDF
- 步驟:使用 Python 透過 .NET 将 PPT 轉換為 PDF
- 步驟:使用 Python 透過 .NET 将 PPTX 轉換為 PDF
- 步驟:使用 Python 透過 .NET 将 ODP 轉換為 PDF
- 步驟:使用 Python 透過 .NET 将 PPS 轉換為 PDF
程式碼步驟:
- 建立 Presentation 類別的實例,並提供 PowerPoint 檔案。
- .ppt 副檔名用於在 Presentation 類別中載入 PPT 檔案。
- .pptx 副檔名用於在 Presentation 類別中載入 PPTX 檔案。
- .odp 副檔名用於在 Presentation 類別中載入 ODP 檔案。
- .pps 副檔名用於在 Presentation 類別中載入 PPS 檔案。
- 呼叫 Save 方法,使用 SaveFormat.PDF 列舉,將 Presentation 儲存為 PDF 格式。
import aspose.slides as slides
# 建立一個代表 PowerPoint 檔案的 Presentation 類別實例
presentation = slides.Presentation("PowerPoint.ppt")
# 將簡報儲存為 PDF
presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF)
將 PowerPoint 轉換為 PDF 並使用選項
Aspose.Slides 提供自訂選項——位於 PdfOptions 類別下的屬性——讓您自訂轉換後的 PDF、以密碼鎖定 PDF,甚至指定轉換流程的行為。
將 PowerPoint 轉換為 PDF 並使用自訂選項
透過自訂轉換選項,您可以設定光柵影像的首選品質、指定如何處理中繼檔、設定文字壓縮層級、設定影像 DPI 等。
以下程式碼示範將 PowerPoint 簡報以多項自訂選項轉換為 PDF:
import aspose.slides as slides
# 建立 PdfOptions 類別的實例
pdf_options = slides.export.PdfOptions()
# 設定 JPG 圖片的品質
pdf_options.jpeg_quality = 90
# 設定影像的 DPI
pdf_options.sufficient_resolution = 300
# 設定中繼檔的處理方式
pdf_options.save_metafiles_as_png = True
# 設定文字內容的壓縮等級
pdf_options.text_compression = slides.export.PdfTextCompression.FLATE
# 定義 PDF 合規模式
pdf_options.compliance = slides.export.PdfCompliance.PDF15
# 建立代表 PowerPoint 文件的 Presentation 類別實例
with slides.Presentation("PowerPoint.pptx") as presentation:
# 將簡報儲存為 PDF 文件
presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options)
將 PowerPoint 轉換為 PDF(包含隱藏投影片)
如果簡報包含隱藏投影片,您可以使用自訂選項——PdfOptions 類別的 show_hidden_slides 屬性——指示 Aspose.Slides 將隱藏投影片作為頁面包含在產生的 PDF 中。
以下 Python 程式碼示範如何在轉換為 PDF 時包含隱藏投影片:
import aspose.slides as slides
# 建立一個代表 PowerPoint 檔案的 Presentation 類別實例
presentation = slides.Presentation("PowerPoint.pptx")
# 建立 PdfOptions 類別的實例
pdfOptions = slides.export.PdfOptions()
# 加入隱藏投影片
pdfOptions.show_hidden_slides = True
# 將簡報儲存為 PDF
presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)
將 PowerPoint 轉換為受密碼保護的 PDF
以下 Python 程式碼示範如何使用 PdfOptions 類別的保護參數,將 PowerPoint 轉換為受密碼保護的 PDF:
import aspose.slides as slides
# 建立一個代表 PowerPoint 檔案的 Presentation 物件
presentation = slides.Presentation("PowerPoint.pptx")
# 建立 PdfOptions 類別的實例
pdfOptions = slides.export.PdfOptions()
# 設定 PDF 密碼與存取權限
pdfOptions.password = "password"
pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT
# 將簡報儲存為 PDF
presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions)
將 PowerPoint 中選取的投影片轉換為 PDF
以下 Python 程式碼示範如何將 PowerPoint 簡報中的特定投影片轉換為 PDF:
import aspose.slides as slides
# 建立一個代表 PowerPoint 檔案的 Presentation 物件
presentation = slides.Presentation("PowerPoint.pptx")
# 設定投影片位置的陣列
slides_array = [ 1, 3 ]
# 將簡報儲存為 PDF
presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF)
將 PowerPoint 轉換為自訂投影片大小的 PDF
以下 Python 程式碼示範如何在指定投影片大小的情況下,將 PowerPoint 轉換為 PDF:
import aspose.slides as slides
slide_width = 612
slide_height = 792
# 建立代表 PowerPoint 或 OpenDocument 檔案的 Presentation 類別實例。
with slides.Presentation("SelectedSlides.pptx") as presentation:
# 建立具有調整後投影片大小的新簡報。
with slides.Presentation() as resized_presentation:
# 設定自訂投影片大小。
resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT)
# 從原始簡報複製第一張投影片。
slide = presentation.slides[0]
resized_presentation.slides.insert_clone(0, slide)
# 將調整尺寸的簡報儲存為含註解的 PDF。
resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF)
將 PowerPoint 轉換為 PDF(註解投影片檢視)
以下 Python 程式碼示範如何將 PowerPoint 轉換為 PDF 註解:
import aspose.slides as slides
# 建立一個代表 PowerPoint 檔案的 Presentation 類別實例
presentation = slides.Presentation("NotesFile.pptx")
pdfOptions = slides.export.PdfOptions()
pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL
# 將簡報儲存為 PDF 註解
presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions)
PDF 的可及性與合規標準
Aspose.Slides 允許您使用符合 Web 內容可及性指引 (WCAG) 的轉換程序。您可以使用以下任一合規標準將 PowerPoint 文件匯出為 PDF:PDF/A1a、PDF/A1b 與 PDF/UA。
以下 Python 程式碼示範一次取得多種符合不同合規標準的 PDF:
import aspose.slides as slides
pres = slides.Presentation("pres.pptx")
options = slides.export.PdfOptions()
options.compliance = slides.export.PdfCompliance.PDF_A1A
pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options)
options.compliance = slides.export.PdfCompliance.PDF_A1B
pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options)
options.compliance = slides.export.PdfCompliance.PDF_UA
pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options)
Note
Aspose.Slides 對 PDF 轉換作業的支援延伸至允許您將 PDF 轉換為最熱門的檔案格式。您可以執行 PDF 轉 HTML、PDF 轉影像、PDF 轉 JPG、以及 PDF 轉 PNG 轉換。其他針對特殊格式的 PDF 轉換亦受支援,包括 PDF 轉 SVG、PDF 轉 TIFF、以及 PDF 轉 XML。Note: 在匯出為 PDF/UA 時,Aspose.Slides 會將 SmartArt、圖表與公式等複雜圖形視為單一圖形。個別路徑元素不會保留為獨立內容,可能會被標記為雜訊;僅為整體圖形提供替代文字。
常見問題集
Aspose.Slides for Python 能否從 PDF 中移除應用程式資訊?
不能,Aspose.Slides for Python 會自動在輸出 PDF 中加入 API 資訊與版本號,無法修改或移除。
如何僅在 PDF 轉換中包含特定投影片?
您可以在呼叫 save 方法時傳入投影片索引陣列,以指定要轉換的投影片。
是否能在轉換過程中為 PDF 設定密碼保護?
可以,於將簡報儲存為 PDF 前,使用 PdfOptions 類別設定密碼及存取權限。
Aspose.Slides 是否支援將 PDF 轉換為其他格式?
支援,Aspose.Slides 可將 PDF 轉換為 HTML、影像格式(JPG、PNG)、SVG、TIFF 以及 XML 等。
如何確保我的 PDF 符合可及性標準?
在 PdfOptions 中設定 compliance 屬性為 PDF_A1A、PDF_A1B 或 PDF_UA 即可符合相關可及性指南。
我可以在 PDF 輸出中包含隱藏投影片嗎?
可以,將 PdfOptions 的 show_hidden_slides 屬性設為 True 後,隱藏投影片將被納入 PDF。
如何在轉換時調整影像品質與解析度?
使用 PdfOptions 的 jpeg_quality 與 sufficient_resolution 屬性即可控制產生 PDF 的影像品質與解析度。
Aspose.Slides 會自動處理字型替換嗎?
會,Aspose.Slides 於轉換過程中會偵測字型替換,您亦可透過 SaveOptions 的 warning_callback 屬性(目前功能有限)自行處理。