
Word轉PDF ASP.NET - 在C#中將DOCX轉換為PDF
在C#中使用IronPDF的ImageToPdfConverter類別將JPEG圖像轉換為PDF只需幾行程式碼。 該程式庫處理單個圖像、批量轉換和多種圖像格式,同時保持輸出PDF文件的質量。

對於構建文件管理系統、檔案工具或自動化工作流程的開發者來說,將JPG圖像轉換為PDF是一個反復出現的需求。 PDF是通用文件格式——它在Windows、Mac、Linux和移動裝置上渲染一致,無需圖像查看器或附加插件。 當您程式化轉換JPEG文件時,您可以自動化該過程,應用品牌、合併多個圖像並控制輸出的各個方面。
本教程涵蓋了使用C#和IronPDF在.NET中將JPEG轉換為PDF的全部過程。 您將學習單圖像轉換、批量處理、格式支持、圖像放置控制和轉換後的自定義。 每個部分都包含可以適應您自己專案的工作C#程式碼。
如何安裝IronPDF來進行JPEG到PDF轉換?
在編寫任何轉換程式碼之前,將IronPDF新增到您的.NET專案中。 該程式庫通過NuGet分發,安裝僅需幾秒鐘。
在Visual Studio中打開Package Manager Console,然後運行:
或者使用.NET CLI:
IronPDF支持.NET 8、.NET 9和.NET 10,以及.NET Framework 4.6.2及更高版本。 不需要附加的運行時依賴項——該套件包含Windows、Linux、macOS、Docker和Azure上進行圖像到PDF轉換所需的一切。
安裝完成後,在您的文件頂部新增一個using IronPdf;語句,您就可以開始轉換了。
IronPDF NuGet包捆綁了渲染引擎,因此生產伺服器不需要單獨的安裝程式。 對於雲部署,請查閱Docker安裝指南以配置正確的基礎映像。
如何在C#中將單個JPEG圖像轉換為PDF?
JPEG到PDF轉換的最簡單路徑是使用ImageToPdfConverter.ImageToPdf()靜態方法。 傳遞圖像文件路徑,接收一個PdfDocument物件,並將其保存到您需要的地方。
using IronPdf;
// Convert a single JPG image to PDF
string imagePath = "photo.jpg";
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Save the converted PDF file
pdf.SaveAs("converted-photo.pdf");Imports IronPdf
' Convert a single JPG image to PDF
Dim imagePath As String = "photo.jpg"
Dim pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)
' Save the converted PDF file
pdf.SaveAs("converted-photo.pdf")ImageToPdf方法接受到您JPEG文件的文件路徑,並返回一個PdfDocument物件,您可以將其保存、流式傳輸或傳遞給其他IronPDF操作。 轉換在記憶體中發生,這使得它非常適合需要直接提供PDF而不觸及磁盤的Web應用。

輸出的PDF保持了原始圖像的質量,同時將其打包成任何PDF閱讀器都可以打開的格式。 頁面大小自動處理——PDF頁面尺寸預設與圖像尺寸相匹配,除非您請求白色邊框,否則輸出清晰。 如果您需要特定的邊距,請使用自定義邊距API。
對於已經熟悉HTML到PDF轉換的開發者來說,圖像轉換API遵循相同的模式:提供輸入、如有需要設置選項並保存輸出。
輸出的PDF與原始JPEG相比如何?
IronPDF在轉換過程中不會重新壓縮JPEG。 圖像資料以其原始解析度嵌入在PDF中,這意味著輸出的視覺質量與源文件一致。如果您的輸入JPEG是300DPI,則嵌入在PDF中的圖像也是300DPI。
ImageToPdf範例頁展示了不同圖像型別的多個前後對比。要精確控制尺寸,將ImageBehavior選項與自定義紙張尺寸和頁面方向設置結合。
如何不保存到磁碟而流式傳輸轉換的PDF?
在構建API或Web應用時,您通常需要以位元組流而不是文件的形式返回PDF。PdfDocument物件直接支持這一點:
using IronPdf;
string imagePath = "photo.jpg";
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Get the PDF as a byte array for streaming
byte[] pdfBytes = pdf.BinaryData;
// In an ASP.NET Core controller:
// return File(pdfBytes, "application/pdf", "converted.pdf");Imports IronPdf
Dim imagePath As String = "photo.jpg"
Dim pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)
' Get the PDF as a byte array for streaming
Dim pdfBytes As Byte() = pdf.BinaryData
' In an ASP.NET Core controller:
' Return File(pdfBytes, "application/pdf", "converted.pdf")該模式適用於ASP.NET Core,Blazor應用和MAUI專案。 PDF位元組也可以直接寫入Azure Blob儲存或任何雲儲存提供商。
如何將多個JPEG文件轉換為一個PDF文件?
批量轉換——將多個JPEG圖像合併成單個PDF——同樣簡單。 將文件路徑的列舉傳遞給ImageToPdfConverter.ImageToPdf(),該程式庫將每個圖像放在輸出的各自頁面上。
using IronPdf;
using System.IO;
using System.Linq;
// Gather all JPG files from a folder
var imagePaths = Directory.EnumerateFiles("photos")
.Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)
|| f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase));
// Convert multiple JPEG images to a single PDF file
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePaths);
// Save the combined PDF
pdf.SaveAs("photo-collection.pdf");Imports IronPdf
Imports System.IO
Imports System.Linq
' Gather all JPG files from a folder
Dim imagePaths = Directory.EnumerateFiles("photos") _
.Where(Function(f) f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) _
OrElse f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase))
' Convert multiple JPEG images to a single PDF file
Dim pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePaths)
' Save the combined PDF
pdf.SaveAs("photo-collection.pdf")圖像出現在PDF中的順序與它們在列舉中的順序相同。 要控制頁面順序,在將文件路徑傳遞給轉換器之前進行排序——例如,按文件名、建立日期或任何適合您工作流程的自定義順序。


如何在批量轉換中控制頁序?
輸出PDF中的頁序按照輸入列舉的順序。 按文件名排序以獲得字母順序,按IComparer以獲得您所需的確切順序。 一旦路徑排序完畢,將它們傳遞給ImageToPdfConverter.ImageToPdf(),結果PDF將反映該順序。
對於每個圖像需要不同設置的更高級批量工作流程,請單獨轉換圖像,然後使用PdfDocument.Merge()合併結果:
using IronPdf;
using System.Collections.Generic;
using System.IO;
using System.Linq;
var imagePaths = Directory.EnumerateFiles("photos")
.Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase));
var pdfDocuments = new List<PdfDocument>();
foreach (var imagePath in imagePaths)
{
var individualPdf = ImageToPdfConverter.ImageToPdf(
imagePath,
ImageBehavior.FitToPageAndMaintainAspectRatio
);
pdfDocuments.Add(individualPdf);
}
// Merge all individual PDFs into one document
PdfDocument combinedPdf = PdfDocument.Merge(pdfDocuments);
combinedPdf.SaveAs("custom-photo-collection.pdf");Imports IronPdf
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Dim imagePaths = Directory.EnumerateFiles("photos") _
.Where(Function(f) f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase))
Dim pdfDocuments As New List(Of PdfDocument)()
For Each imagePath In imagePaths
Dim individualPdf = ImageToPdfConverter.ImageToPdf( _
imagePath, _
ImageBehavior.FitToPageAndMaintainAspectRatio _
)
pdfDocuments.Add(individualPdf)
Next
' Merge all individual PDFs into one document
Dim combinedPdf As PdfDocument = PdfDocument.Merge(pdfDocuments)
combinedPdf.SaveAs("custom-photo-collection.pdf")合併和分割API支持合併任意數量的PdfDocument物件。 合併後,您可以新增書籤以幫助讀者瀏覽大的照片集,或通過頁首和頁尾應用頁碼。
為了安全共享,結果PDF可以設置密碼保護或轉換為PDF/A格式以滿足長期存檔合規性。
該PDF轉換器支持哪些圖像格式?
IronPDF的圖像到PDF轉換器處理比JPEG更廣泛的格式。 相同的ImageToPdfConverter類別使用相同的方法調用處理PNG,BMP,GIF,TIFF,SVG和WebP文件——您不需要為不同的圖像型別單獨編寫程式碼路徑。
| 格式 | 擴展名 | 最佳用途 | 顯著特點 |
|---|---|---|---|
| JPEG | .jpg, .jpeg, .jfif | 照片,掃描的文件 | 優秀的壓縮率 |
| PNG | .png | 帶有透明度的圖形 | 無損質量 |
| BMP | .bmp | 未壓縮的源圖像 | 保留原始像素資料 |
| GIF | .gif | 簡單的圖形和圖表 | 適用於平面圖形的小文件大小 |
| TIFF | .tiff, .tif | 高質量掃描 | 多頁支持 |
| SVG | .svg | 向量圖形和標誌 | 以任意解析度可擴展 |
| WebP | .webp | 現代網頁圖像 | 相比JPEG的優越壓縮 |
對於TIFF文件,IronPDF專門支持多幀TIFF到PDF轉換,其中TIFF中的每一幀在輸出PDF中變為單獨的頁面。 這對於作為TIFF存檔到達的掃描多頁文件特別有用。
除了靜態光柵圖像,IronPDF還以全解析度處理SVG向量圖形,使其成為沒有質量損失地轉換技術圖和圖標的可靠工具。 處理圖像的引擎也渲染HTML到PDF,因此含有圖像和HTML格式文字的混合內容管道得到了良好的支持。
與基於瀏覽器或在線PDF轉換器不同,IronPDF完全在您的.NET進程內運行。 文件從不離開您的伺服器,這對於處理機密文件、醫學圖像或財務紀錄的應用來說很重要。
如何控制轉換後PDF中的圖像放置?
預設情況下,IronPDF將PDF頁面尺寸調整為與圖像尺寸匹配。 如果您需要不同的行為——將圖像適配到標準紙張尺寸,在白色邊界內居中或裁剪以填充頁面——使用ImageToPdfRenderOptions結合使用。
using IronPdf;
var renderingOptions = new ImageToPdfRenderOptions
{
ImageBehavior = ImageBehavior.FitToPageAndMaintainAspectRatio,
PaperSize = PdfPaperSize.A4,
MarginTop = 25,
MarginBottom = 25,
MarginLeft = 25,
MarginRight = 25
};
string imagePath = "photo.jpg";
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath, renderingOptions);
pdf.SaveAs("formatted-output.pdf");Imports IronPdf
Dim renderingOptions As New ImageToPdfRenderOptions With {
.ImageBehavior = ImageBehavior.FitToPageAndMaintainAspectRatio,
.PaperSize = PdfPaperSize.A4,
.MarginTop = 25,
.MarginBottom = 25,
.MarginLeft = 25,
.MarginRight = 25
}
Dim imagePath As String = "photo.jpg"
Dim pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath, renderingOptions)
pdf.SaveAs("formatted-output.pdf")可用的ImageBehavior值涵蓋了最常見的佈局需求:
FitToPageAndMaintainAspectRatio——在保持比例的同時將圖像縮放為填滿頁面CenteredOnPage——將圖像放置在其原始尺寸,水平和垂直居中TopLeftCornerOfPage——將圖像錨定在左上角而不縮放CropPage——將頁面尺寸精確修剪為與圖像尺寸匹配
轉換後,您可以應用額外的轉換。 使用HTML標記新增水印,附加頁眉和頁腳進行文件識別,或旋轉頁面以匹配所需的方向。
進一步的後處理選項包括:
JPEG到PDF轉換的最常見用例是什麼?
程式化JPEG到PDF轉換是許多文件工作流的一個構建塊。 了解最常見的場景可以幫助您設計適合您應用程式的架構。
文件歸檔和合規性——掃描紙質紀錄的組織會從平板和文件掃描儀產生JPEG文件。 將這些轉換為PDF可以在以PDF/A格式進行索引、長期儲存,並通過標準的文件管理平台存取。 PDF/A是一種專門為存檔設計的ISO標準,IronPDF支持生成合規文件。
報告和儀表板生成——會生成圖表、截圖或資料可視化的應用程式通常會以JPEG捕獲輸出。 使用ImageToPdfConverter將這些嵌入PDF報告中可以生成一致的、可列印的文件,利益相關者可以審查,而無需安裝圖表軟體。
照片組合和畫廊——創意專業人士和房地產平台使用批量JPEG到PDF轉換來生成可列印的房產說明書、作品集和目錄PDF。 將數十張照片合併成一個帶有書簽的可導航PDF建立的演示效果比圖像文件夾要好。
自動上傳工作流——接受使用者JPEG上傳的Web應用——個人照片、支持文件、身份掃描——可以將所有上傳規範為PDF以便於一致的下游處理。 這簡化了儲存、搜索和渲染,因為應用程式只需處理一種格式而不是多種格式。
根據PDF協會的行業研究,PDF仍然是企業環境中使用最廣泛的文件格式,因此在工作流程的早期將圖像轉換為PDF在相容性和長期可存取性方面可以獲得回報。
Mozilla開發者網記錄了PDF MIME型別為application/pdf,這被所有主要瀏覽器無插件地原生支持——使得PDF成為需要在瀏覽器中查看的文件的最安全格式選擇。
為了加強這些方案中的安全性,IronPDF支持PDF隱藏以永久刪除敏感內容,PDF消毒以刪除隱藏的元資料,並數位簽章進行文件身份驗證。
如何將頁眉、頁腳和元資料新增到轉換後的PDF中?
轉換後的JPEG到PDF通常只是起點。 生產應用程式通常需要在交付最終文件之前新增文件元資料、頁碼和組織品牌。
using IronPdf;
using IronPdf.Editing;
string imagePath = "photo.jpg";
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);
// Add a text footer with page numbers
var footer = new TextHeaderFooter
{
CenterText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 10
};
pdf.AddTextFooters(footer);
// Set document metadata
pdf.MetaData.Title = "Converted Photo Document";
pdf.MetaData.Author = "Document Processing System";
pdf.MetaData.CreationDate = System.DateTime.Now;
// Apply a confidentiality watermark if needed
pdf.ApplyWatermark(
"<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
30,
VerticalAlignment.Middle,
HorizontalAlignment.Center
);
pdf.SaveAs("final-document.pdf");Imports IronPdf
Imports IronPdf.Editing
Dim imagePath As String = "photo.jpg"
Dim pdf As PdfDocument = ImageToPdfConverter.ImageToPdf(imagePath)
' Add a text footer with page numbers
Dim footer As New TextHeaderFooter With {
.CenterText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 10
}
pdf.AddTextFooters(footer)
' Set document metadata
pdf.MetaData.Title = "Converted Photo Document"
pdf.MetaData.Author = "Document Processing System"
pdf.MetaData.CreationDate = System.DateTime.Now
' Apply a confidentiality watermark if needed
pdf.ApplyWatermark(
"<h2 style='color:red;opacity:0.3'>CONFIDENTIAL</h2>",
30,
VerticalAlignment.Middle,
HorizontalAlignment.Center
)
pdf.SaveAs("final-document.pdf")對於批量轉換,您可以在保存之前將相同的頁腳和元資料應用於多圖像PDF中的每一頁。 異步處理API允許高通量環境同時處理多張圖像而不阻塞執行緒。
如果您的部署基於雲端,請參考Azure部署指南和AWS設置文件以獲取特定於環境的配置。 自定義日誌API可以與Serilog,NLog和Microsoft.擴展名.Logging整合進行運行監控。
IronPDF故障排除指南涵蓋了生產中最常見的問題,包括字體載入、Linux上的權限錯誤和不同.NET版本之間的渲染差異。
您的下一步是什麼?
IronPDF的ImageToPdfConverter類為您提供從JPEG文件到專業PDF文件在C#中的一條簡單路徑。 該API處理單個圖像和批量集合使用相同的方法調用,支持七種圖像格式而無需額外編碼,並與IronPDF的全套PDF操作功能整合。
首先通過NuGet安裝包:
然後將本教程中的程式碼範例適應為您的用例。 單圖像轉換只需三行程式碼即可實現。 批量處理需要一個LINQ查詢和一個方法調用。 佈局自定義使用ImageBehavior枚舉。
IronPDF免費試用讓您完全存取所有功能進行評估。 當您準備好用於生產時,查看商業應用的授權選項,包括擴展團隊的授權升級路徑。 IronPDF PDF 轉換器功能頁面列出了每一種支持的轉換型別,以便您在需要處理的不僅僅是JPEG輸入時使用。
對於相關的圖像到文件工作流程,新增圖像到PDF指南涵蓋嵌入圖像到現有PDF頁面中的方法,HTML到PDF教程則說明如何從HTML模板生成PDF,將文字和圖像結合進行單一文件。

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章


