如何在 C# | IronPDF 中使用 IronPDF 轉換 PDF 頁面

在 C# 和 .NET 中使用 IronPDF 轉換 PDF 頁面。

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 可讓 .NET 開發人員在不修改頁面尺寸的情況下,透過縮放和翻譯內容來轉換 PDF 頁面。 使用 Transform 方法與水平/垂直平移和縮放因子的參數,以程式化的方式重新定位和調整頁面內容的大小。

快速入門:輕鬆轉換 PDF 頁面

<!--說明:說明程式碼概念的圖表或截圖 -->

學習如何使用 .NET 中的 IronPDF 庫輕鬆轉換 PDF 頁面。 只需幾行程式碼,即可縮放和翻譯頁面內容,而不會影響原始頁面尺寸。 本指南示範如何套用轉換功能來無縫增強您的 PDF 文件。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    IronPdf.PdfDocument.FromFile("input.pdf")
      .Pages[0].Transform(50,50,0.8,0.8)
      .SaveAs("output-transformed.pdf");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer


如何在 C# 中轉換 PDF 頁面? <!--說明:說明程式碼概念的圖表或截圖 --> `Transform` 方法可以移動和調整內容大小。 這只會影響頁面上顯示內容的外觀,不會改變實際頁面尺寸。 與修改整個頁面結構的頁面方向和旋轉不同,轉換只會調整內容的定位。 讓我們用一個[簡單的 PDF 文件範例](/static-assets/pdf/how-to/transform-pdf-pages/basic.pdf)來嘗試`Transform`方法。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/transform-pdf-pages-transform-pdf.cs ``` `Transform` 方法在合併多個 PDF 後需要重新定位內容,或為特定自訂紙張尺寸準備文件時特別有用。 此功能與其他排版功能相輔相成,例如設定自訂頁邊空白,以達到精確的文件格式。

`Transform`方法接受哪些參數? `Transform` 方法接受控制內容定位和大小的四個關鍵參數: - **水平翻譯 (TranslateX)**:在頁面上水平移動內容。 正值會使內容右移,負值則會使內容左移。 測量單位遵循 PDF 標準(通常為點,其中 1 點 = 1/72 英吋)。 - **垂直翻譯 (TranslateY)**:控制頁面內容的垂直移動。 正值會使內容下移,負值則會使內容上移。 當您需要為頁首和頁尾創造空間時,這將非常有用。 - **水平刻度 (ScaleX)**:調整內容寬度大小的十進位數值。 1.0 的值維持原始大小,0.5 縮小為一半寬度,2.0 則將寬度增加一倍。 此參數可協助將內容安裝在特定的邊界內,當與垂直比例搭配使用時,不會影響寬高比。 - **垂直刻度 (ScaleY)**:類似於 `ScaleX` 但會影響高度。 保持 `ScaleX` 和 `ScaleY` 值相等,以保留內容的原始寬高比。 以下是展示多重轉換的進階範例: ```csharp using IronPdf; using System; // Load an existing PDF or create a new one PdfDocument pdf = PdfDocument.FromFile("invoice.pdf"); // Apply different transformations to multiple pages for (int i = 0; i < pdf.Pages.Count; i++) { if (i % 2 == 0) { // Even pages: Create margin space and reduce size slightly pdf.Pages[i].Transform(30, 30, 0.9, 0.9); } else { // Odd pages: Center content with larger margins pdf.Pages[i].Transform(40, 60, 0.85, 0.85); } } // Save the transformed document pdf.SaveAs("invoice_transformed.pdf"); // You can also export to memory stream for web applications var memoryStream = pdf.Stream; ```

為什麼我需要轉換 PDF 頁面? PDF 頁面轉換在文件處理中有許多實際應用: **1.建立可列印的文件**:為專業印刷準備 PDF 時,您經常需要調整內容定位,以適應出血區域、裝釘邊緣或特定的印表機要求。 `Transform` 方法允許精確定位,而無需重新建立文件。 **2.表單欄位對齊**:在建立或編輯 PDF 表單後,您可能需要重新定位整個部分,以便與預先列印的信紙或範本對齊。 轉換確保所有表單元素維持其相對位置。 **3.多文件編譯**:結合來自不同來源的文件時,每個文件可能都有不同的邊界設定。 使用 `Transform` 有助於統一所有頁面的外觀,尤其是在綜合文件上標示文字或圖片時非常有用。 **4.Responsive PDF Generation**:在動態應用程式中,PDF 是根據使用者偏好或裝置規格來產生的,`Transform` 可實現即時調整,以確保在不同螢幕尺寸上的最佳檢視效果。
PDF轉換前後,顯示內容從整頁移至重新定位的版面
### PDF 轉換的最佳實務 實施 PDF 轉換時,請考慮這些最佳化策略: **保留長寬比**:除非需要刻意扭曲,否則務必使用相同的 `ScaleX` 和 `ScaleY` 值。 這樣才能保持文字和圖片的專業外觀。 **測試邊界條件**:在套用轉換之前,請確認縮放的內容不會超出頁面邊界。 計算轉換後的有效內容區域,以防止剪切。 **批次處理效率**:轉換多個頁面時,可考慮使用平行處理來處理大型文件: ```csharp using IronPdf; using System.Linq; using System.Threading.Tasks; public async Task TransformLargeDocument(string filePath) { PdfDocument pdf = PdfDocument.FromFile(filePath); // Process pages in parallel for better performance var tasks = pdf.Pages.Select((page, index) => Task.Run(() => { // Apply consistent transformation to all pages page.Transform(25, 25, 0.95, 0.95); }) ).ToArray(); await Task.WhenAll(tasks); // Save with optimized settings pdf.SaveAs("transformed_optimized.pdf"); } ``` **記憶體管理**:對於大型文件,可考慮分塊處理並儲存至記憶體串流,以最佳化伺服器環境中的資源使用。 ### 常見的轉換情境 以下是特定使用個案的實用範例: **建立縮圖**:在保持可讀性的前提下,透過縮放內容來生成 PDF 頁面預覽: ```csharp // Create thumbnail-sized versions of pages pdf.Pages[0].Transform(10, 10, 0.3, 0.3); ``` **增加裝訂邊界**:移動內容以適應螺旋裝訂或三環裝訂器: ```csharp // Add 0.5 inch (36 points) binding margin on left pdf.Pages[0].Transform(36, 0, 1.0, 1.0); ``` **將尺寸不足的內容居中**:當內容無法填滿整個頁面時,請以專業方式將其居中: ```csharp // Calculate centering offset (assuming standard letter size) double pageWidth = 612; // points double contentWidth = 500; // estimated content width double centerOffset = (pageWidth - contentWidth) / 2; pdf.Pages[0].Transform(centerOffset, 50, 1.0, 1.0); ``` `Transform` 方法與 IronPDF 的全面功能集無縫整合,讓您能夠以精確的佈局建立新的 PDF,並修改現有文件以符合特定需求。 無論您是在建立自動化文件處理系統或建立自訂報表解決方案,掌握 PDF 轉換功能都能增強您提供專業、格式精確的文件的能力。

常見問題解答

如何以 C# 程式化方式轉換 PDF 頁面?

您可以使用 IronPDF 的 Transform 方法來轉換 PDF 頁面。此方法允許您在不修改實際頁面尺寸的情況下縮放和轉換頁面內容。只需在頁面上呼叫 Transform 方法,並為水平/垂直平移和縮放因子設定參數即可。

Transform 方法需要哪些參數?

IronPDF 中的 Transform 方法接受四個參數:TranslateX(水平移動)、TranslateY(垂直移動)、ScaleX(水平縮放)和 ScaleY(垂直縮放)。Translation 值的單位是點(1/72 英吋),而 Scale 值則是十進位乘數。

我可以在不改變頁面大小的情況下移動 PDF 內容嗎?

是的,IronPDF 的 Transform 方法是在不改變實際頁面尺寸的情況下,具體移動和調整內容外觀的大小。這與修改整個頁面結構的頁面旋轉或方向改變不同。

如何將 PDF 內容縮放到原始大小的 80%?

若要使用 IronPDF 將 PDF 內容縮放到原始大小的 80%,請使用 Transform 方法,並將縮放參數設定為 0.8。例如Pages[0].Transform(0,0,0.8,0.8)會將寬度和高度都縮放到 80%。

我可以對 PDF 中的特定頁面套用轉換嗎?

是的,IronPDF 允許您透過「頁面」集合存取個別頁面來進行轉換。您可以根據需要對每個頁面應用不同的轉換,例如對第一頁應用 Pages[0].Transform()。

正翻譯值和負翻譯值有什麼不同?

在 IronPDF 的 Transform 方法中,TranslateX 的正值會向右移動內容,而負值則會向左移動內容。對於 TranslateY,正值會使內容向下移動,負值則會使內容向上移動。這允許在任何方向精確定位。

何時應該使用 PDF 轉換而非旋轉?

當您需要重新定位或調整內容大小,同時保持頁面尺寸不變時,請使用 IronPDF 的 Transform 方法。這是合併 PDF、為自訂紙張尺寸準備文件,或在不改變頁面結構的情況下為頁首和頁尾創造空間的理想選擇。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布