跳至页脚内容
使用IRONPDF

如何在C# .NET中将JPG转换为PDF

在.NET应用程序中将JPG转换为PDF是开发人员在企业文档管理系统或合规性驱动的工作流程中常见的需求。 为受监管行业构建文档归档工具、照片存储库或自动化报告系统都经常引入这一需求。 提供快速转换的免费JPG到PDF在线服务存在--您可以上传图像并在几秒钟内下载转换后的PDF。 但对于有审计跟踪需求的严肃企业自动化项目,这些基于浏览器的解决方案缺乏软件工程师所需的程序化控制、安全性和合规性保证。

IronPDF提供了一个强大的JPG到PDF转换器,只需几行C#代码即可将图像文件转换为专业的PDF文档,完全集成了数字签名功能加密选项。 与可能将上传文件暴露给数据风险的在线工具不同,IronPDF完全在应用程序基础设施内运行--这是一个安全的、自托管的解决方案,确保敏感数据安全存储在Azure或本地服务器上。

// Convert JPG to PDF in one line!
IronPdf.ImageToPdfConverter.ImageToPdf("photo.jpg").SaveAs("output.pdf");
// Convert JPG to PDF in one line!
IronPdf.ImageToPdfConverter.ImageToPdf("photo.jpg").SaveAs("output.pdf");
$vbLabelText   $csharpLabel

NuGet 使用 NuGet 安装

PM >  Install-Package IronPdf

IronPDF 上查看 NuGet 快速安装。超过 1000 万次下载,它正以 C# 改变 PDF 开发。 您也可以下载 DLLWindows 安装程序

如何在C#中将JPG文件转换为PDF文档?

将单个JPG文件转换为PDF文档只需调用IronPDF的ImageToPdfConverter类中的一个方法。 这个图像到PDF转换器自动处理整个转换过程,保留图像质量,同时生成符合长时间存档的PDF/A合规标准的正确格式化的PDF文件。

using IronPdf;

// Convert a single JPG image to PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("inputImage.jpg");

// Add metadata for compliance tracking
pdf.MetaData.Author = "Enterprise System";
pdf.MetaData.CreationDate = DateTime.Now;
pdf.MetaData.Keywords = "JPG-Conversion,Compliance-Ready";

// Apply security settings for sensitive documents
pdf.SecuritySettings.AllowUserPrinting = true;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Save the converted PDF to disk
pdf.SaveAs("output.pdf");
using IronPdf;

// Convert a single JPG image to PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("inputImage.jpg");

// Add metadata for compliance tracking
pdf.MetaData.Author = "Enterprise System";
pdf.MetaData.CreationDate = DateTime.Now;
pdf.MetaData.Keywords = "JPG-Conversion,Compliance-Ready";

// Apply security settings for sensitive documents
pdf.SecuritySettings.AllowUserPrinting = true;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Save the converted PDF to disk
pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

转换器与您现有的日志记录基础设施集成,支持合规报告的详细审计跟踪。 对于需要高可用性的企业部署,建议实施异步转换模式以有效处理并发请求。

转换后的PDF输出是什么样子的?

显示转换后图像文件的PDF查看器截图,中心是'C# PDF库'网站页面,周围是空白区域

ImageToPdf方法接受JPG或JPEG图像的文件路径,并返回支持高级操作功能PdfDocument对象。 此PDF转换器支持存储在磁盘、网络位置或Azure Blob Storage中的图像,以支持云原生架构。 生成的PDF文件保持原始分辨率和颜色的保真度,确保照片、扫描文档和合规性记录完全符合预期。

IronPDF的转换器支持WindowsMacLinux操作系统,包括在DockerAWS Lambda中的容器化部署,因此您可以在任何企业环境中部署您的图像到PDF解决方案,而无需依赖额外的软件依赖项。

如何将多个JPG图像合并为一个PDF文件?

将多个JPG文件合并为一个PDF文档对于创建综合报告、归档扫描文档批次或组装多页合规包至关重要。 JPG到PDF转换器接受文件路径数组,合并所有图像到单个PDF中,每个图像都在其自己的页面上,同时保持正确的页码

using IronPdf;

// Define multiple JPG images to convert
string[] jpgImages = { "page1.jpg", "page2.jpeg", "page3.jpg" };

// Validate all files exist before processing
foreach (var imagePath in jpgImages)
{
    if (!File.Exists(imagePath))
    {
        throw new FileNotFoundException($"Required image not found: {imagePath}");
    }
}

// Convert all images into a single PDF document
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(jpgImages);

// Add headers for document identification
pdf.AddHtmlHeaders(new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Confidential - {date}</div>",
    Height = 25
});

// Apply compression for optimal file size
pdf.CompressImages(70);

// Save the combined PDF
pdf.SaveAs("combined-document.pdf");
using IronPdf;

// Define multiple JPG images to convert
string[] jpgImages = { "page1.jpg", "page2.jpeg", "page3.jpg" };

// Validate all files exist before processing
foreach (var imagePath in jpgImages)
{
    if (!File.Exists(imagePath))
    {
        throw new FileNotFoundException($"Required image not found: {imagePath}");
    }
}

// Convert all images into a single PDF document
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(jpgImages);

// Add headers for document identification
pdf.AddHtmlHeaders(new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Confidential - {date}</div>",
    Height = 25
});

// Apply compression for optimal file size
pdf.CompressImages(70);

// Save the combined PDF
pdf.SaveAs("combined-document.pdf");
$vbLabelText   $csharpLabel

这种方法允许您按照所需顺序转换多个JPG图像--只需正确排列文件路径中的顺序即可。 即使是处理大量JPG图片的批次,这个PDF转换器也能高效工作,在现代硬件上几秒钟内处理数百张图像。

对于企业应用场景,例如发票处理、病案数字化或法律文档归档,您可以在目录中枚举图像文件,并直接传递给转换器。 这使得自动化工作流程可以在无需人工干预的情况下将JPG转换为PDF,支持具有适当安全控制的HIPAA合规工作流程,如加密和权限限制

JPG 到 PDF 转换器支持哪些图像格式?

IronPDF的图像到PDF工具支持除JPG和JPEG之外的多种图像格式,提供了对多样化企业需求的灵活性。 您可以使用同样简单的API转换PNG、BMP、GIF和TIFF文件,确保您的应用程序能够处理业务流程所需的任何图像格式。

下表总结了支持的图像格式及其典型用例:

IronPDF的ImageToPdfConverter支持的图像格式
翻译格式 扩展名 典型用例 注意事项
JPEG .jpg, .jpeg 照片,扫描文档 有损压缩;适合摄影
PNG .png 屏幕截图,具有透明度的图形 无损;保留透明背景
TIFF .tif, .tiff 医学成像,档案扫描 支持多页TIFF文件
BMP .bmp 传统扫描系统 未压缩;文件大小大
GIF .gif 简单图形,图标 有限的色彩调色板(256颜色)
using IronPdf;

// Convert any supported image format using the same API
string imagePath = "document.tiff";

PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);

// Apply enterprise metadata standards
pdf.MetaData.Producer = "Enterprise Document System v2.0";

pdf.SaveAs("output.pdf");
using IronPdf;

// Convert any supported image format using the same API
string imagePath = "document.tiff";

PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);

// Apply enterprise metadata standards
pdf.MetaData.Producer = "Enterprise Document System v2.0";

pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

PNG到PDF转换质量如何比较?

IronPDF for .NET标识,具有彩色井号图形,中间是'PDF',下方是产品名称

转换器自动检测图像格式并应用适当的处理,保持对于医疗成像或设计文件至关重要的色彩准确性。 无论是手机设备上的压缩JPEG照片,具有透明度的高保真PNG图形,还是传统扫描系统的BMP文件,PDF转换都能产生一致的高质量结果。

这同样的转换器架构还可以处理DOCX文件和其他文档类型,使IronPDF成为企业内容管理堆栈的多功能文档处理解决方案。

如何在转换后的PDF中保持图像质量?

在PDF转换过程中保持图像质量对于专业文档至关重要,尤其是在严格的视觉保真度要求的行业中,如医疗成像或工程图纸。 默认情况下,IronPDF在转换过程保持JPG图像的原始分辨率,确保不会发生降级。 您也可以应用无损压缩选项来控制文件大小,而不牺牲视觉保真度。

using IronPdf;

// Convert image maintaining original quality
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("high-res-scan.jpg");

// Apply linearization for fast web viewing (archival quality)
pdf.SaveAsLinearized("output-linearized.pdf");

// Alternatively, apply controlled compression when file size matters
pdf.CompressImages(90); // 90 = near-lossless
pdf.SaveAs("output-compressed.pdf");
using IronPdf;

// Convert image maintaining original quality
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("high-res-scan.jpg");

// Apply linearization for fast web viewing (archival quality)
pdf.SaveAsLinearized("output-linearized.pdf");

// Alternatively, apply controlled compression when file size matters
pdf.CompressImages(90); // 90 = near-lossless
pdf.SaveAs("output-compressed.pdf");
$vbLabelText   $csharpLabel

对于需要在文件大小与图像质量之间达到平衡以进行云存储优化的场景,IronPDF提供了细粒度的压缩控制,使您可以在控制质量妥协的同时减少转换后的PDF大小。 当源图像因扫描过程而存在不正确的方向时,您也可以旋转PDF页面

这款PDF转换器可以处理高分辨率照片和扫描文件,而不像免费的服务替代品那样对输出进行压缩或添加水印。 这确保了数字签名文件保持其法律效力以及档案记录在法庭上可以接受。 关于JPEG压缩和图像质量妥协的背景信息,请参阅维基百科上的JPEG标准概述

如何自定义页面尺寸和方向?

控制输出PDF格式为不同的企业用例提供了灵活性,从标准信笺大小的报告到自定义表单。 IronPDF允许您在从图像创建新PDF文档时指定页面尺寸和方向,支持标准纸张尺寸和自定义尺寸。

using IronPdf;

// Create renderer with custom page settings
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure for standard business documents
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Apply a corporate logo header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<img src='corporate-logo.png' style='height:30px'/>",
    Height = 40
};

// Wrap the image in HTML to control layout precisely
string imageHtml = @"
    <html>
    <body style='margin:0'>
        <img src='wide-photo.jpg' style='width:100%; max-width:100%'/>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(imageHtml);

// Add page numbers for multi-page documents
pdf.AddTextFooters("{page} of {total-pages}", IronPdf.Font.FontFamily.Arial, 10);

pdf.SaveAs("formatted-document.pdf");
using IronPdf;

// Create renderer with custom page settings
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure for standard business documents
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Apply a corporate logo header
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<img src='corporate-logo.png' style='height:30px'/>",
    Height = 40
};

// Wrap the image in HTML to control layout precisely
string imageHtml = @"
    <html>
    <body style='margin:0'>
        <img src='wide-photo.jpg' style='width:100%; max-width:100%'/>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(imageHtml);

// Add page numbers for multi-page documents
pdf.AddTextFooters("{page} of {total-pages}", IronPdf.Font.FontFamily.Arial, 10);

pdf.SaveAs("formatted-document.pdf");
$vbLabelText   $csharpLabel

PDF输出有哪些自定义选项?

IronPDF主页展示了库的功能,包括HTML到PDF转换和文档呈现方法的语法加亮C#代码示例

这种技术将图像包裹在HTML中,给您精确控制JPG图像在PDF页面上显示方式的能力,同时保持CSS样式一致性。 您可以设置边距、应用缩放、添加水印,并将图像定位到单个PDF文件中所需的确切位置,支持复杂的监管文件布局要求。

对于包括视口控制和JavaScript呈现延迟在内的高级呈现自定义,请探索IronPDF的呈现选项文档

如何为转换后的PDF添加页眉、页脚和水印?

使用IronPDF为转换后的PDF添加页眉、页脚和水印非常简单。 这些元素对于合规工作流程、品牌一致性和企业系统中的文档识别至关重要。 页眉和页脚可以包含动态内容,例如当前日期、页码和自定义HTML。 水印--无论是文本还是基于图像的--都可以使用自定义水印API盖到每一页上。

using IronPdf;

// Convert JPG to PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("invoice-scan.jpg");

// Add a text watermark for draft documents
pdf.ApplyWatermark("<h1 style='color:red;opacity:0.3'>DRAFT</h1>", rotation: 45, opacity: 80);

// Add a footer with the page number and date
pdf.AddHtmlFooters(new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:right;font-size:10px'>Page {page} of {total-pages} -- {date}</div>",
    Height = 20
});

pdf.SaveAs("watermarked-invoice.pdf");
using IronPdf;

// Convert JPG to PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("invoice-scan.jpg");

// Add a text watermark for draft documents
pdf.ApplyWatermark("<h1 style='color:red;opacity:0.3'>DRAFT</h1>", rotation: 45, opacity: 80);

// Add a footer with the page number and date
pdf.AddHtmlFooters(new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:right;font-size:10px'>Page {page} of {total-pages} -- {date}</div>",
    Height = 20
});

pdf.SaveAs("watermarked-invoice.pdf");
$vbLabelText   $csharpLabel

这种模式对于每份分发文档都必须携带分类标记或草稿指示器,直到获得最终批准的受监管行业尤其有用。 结合数字签名,水印提供了完整的审计跟踪的保管链记录。

如何在从JPG转换后保护PDF文档?

对于包含敏感图像的文档,例如医学扫描、财务记录和法律证据,安全性是不容妥协的--所有这些都需要访问控制。 在将JPG图像转换为PDF后,IronPDF允许您在同一工作流程中应用密码保护和权限限制

using IronPdf;

// Convert the image
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("medical-scan.jpg");

// Set an owner password (admin) and a user password (read-only access)
pdf.SecuritySettings.OwnerPassword = "admin-secret";
pdf.SecuritySettings.UserPassword = "readonly-access";

// Restrict editing and copying, but allow printing
pdf.SecuritySettings.AllowUserPrinting = true;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;

// Encrypt with AES-256
pdf.SecuritySettings.EncryptionLevel = PdfEncryptionLevel.AES_256;

pdf.SaveAs("secured-medical-scan.pdf");
using IronPdf;

// Convert the image
PdfDocument pdf = ImageToPdfConverter.ImageToPdf("medical-scan.jpg");

// Set an owner password (admin) and a user password (read-only access)
pdf.SecuritySettings.OwnerPassword = "admin-secret";
pdf.SecuritySettings.UserPassword = "readonly-access";

// Restrict editing and copying, but allow printing
pdf.SecuritySettings.AllowUserPrinting = true;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;

// Encrypt with AES-256
pdf.SecuritySettings.EncryptionLevel = PdfEncryptionLevel.AES_256;

pdf.SaveAs("secured-medical-scan.pdf");
$vbLabelText   $csharpLabel

对于目标为长时间存档的PDF/A-3的部署,IronPDF可以在单次通过中根据ISO 19005标准进行转换和验证。 这对于文档保存政策要求采用档案安全格式的医疗和法律行业尤为重要。

IronPDF支持Windows、Mac和Linux部署,具有相同的安全API界面,因此安全策略在不同环境中是可移植的。 在IronPDF Linux指南中了解有关特定平台设置的更多信息。

您的下一步是什么?

IronPDF将JPG到PDF .NET开发从一个多步骤任务转变为一个可靠的单方法操作,具有企业级安全性和合规性功能。 库处理单个图像、多个JPG文件和一系列图像格式,提供一致的高质量结果--无需依赖可能影响数据主权的外部在线服务。

不同于PDF转换器拖放网站,IronPDF为自动化文档工作流程、批量处理和企业集成提供了编程控制,并附带完整的API文档。 转换器在保持质量和审计跟踪的同时高效处理图像,使其适用于从医疗文件管理到金融合规系统范围的应用程序。

企业主要好处包括:

开始您的免费试用,体验IronPDF在您的.NET项目中使图像到PDF转换简单化的企业级安全性或探索用于生产部署的完整许可选项

常见问题解答

如何在C#中将一个JPG文件转换为PDF?

从IronPDF调用ImageToPdfConverter.ImageToPdf("photo.jpg")。这将返回一个您可以使用.SaveAs("output.pdf")保存的PdfDocument对象。对于基本转换,不需要额外配置。

IronPDF能将多个JPG图像合并成一个PDF文件吗?

可以。传递一组文件路径字符串数组给ImageToPdfConverter.ImageToPdf(new string[] { "page1.jpg", "page2.jpg" })。每个图像将在合并的PDF中成为一个独立页面,按照提供的顺序排列。

IronPDF的转换器支持哪些图像格式?

IronPDF通过相同的ImageToPdfConverter API支持JPEG、PNG、TIFF(包括多页)、BMP和GIF文件。库会自动检测格式。

如何在将JPG转为PDF时保持图像质量?

IronPDF默认保留原始分辨率。对于存档输出,请使用pdf.SaveAsLinearized()。要控制文件大小,请使用pdf.CompressImages(quality),其中质量在1到100之间。

如何自定义输出PDF的页面大小?

使用ChromePdfRenderer和RenderingOptions.PaperSize及RenderingOptions.PaperOrientation设置任何标准或自定义页面大小。将图像包装在HTML字符串中,并使用RenderHtmlAsPdf()渲染以获得完整的布局控制。

如何为从JPG转换的PDF添加水印?

转换后,调用pdf.ApplyWatermark(htmlFragment, rotation, opacity)在每个页面上标记文本或图像水印。HTML水印支持自定义字体、颜色和透明度。

如何在从JPG转换后对PDF进行密码保护?

设置pdf.SecuritySettings.OwnerPassword和pdf.SecuritySettings.UserPassword,然后配置AllowUserPrinting、AllowUserEditing和AllowUserCopyPasteContent。将pdf.SecuritySettings.EncryptionLevel设置为PdfEncryptionLevel.AES_256以获得最强加密。

IronPDF是否支持转换后的图像为PDF/A归档格式?

支持。IronPDF可以将图像转换为符合PDF/A的文档,以进行长期归档,符合ISO 19005在医疗、法律和政府文件保留政策中使用的要求。

IronPDF在哪些平台上运行以进行JPG到PDF的转换?

IronPDF支持Windows、macOS和Linux,包括Docker容器和AWS Lambda。相同的API界面在所有平台上运行,无需额外依赖。

为什么使用IronPDF而不是在线JPG到PDF转换器?

在线转换器需要将文件上传到第三方服务器,这会导致数据暴露风险,并限制自动化。IronPDF完全在您的应用程序内运行,为您提供编程控制、安全策略、审核跟踪,并且无需外部服务依赖。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me