首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用C#代码按实际大小打印 PDF 或将其缩放至适合页面

使用C#代码按实际大小打印 PDF 或将其缩放至适合页面

原创
作者头像
用户12401097
发布于 2026-11-09 14:21:58
发布于 2026-11-09 14:21:58
360
举报

打印 PDF 文件时,确保文档内容按照预期效果呈现非常重要。根据实际需求,可以选择按实际大小打印,以保留文档的原始尺寸;也可以选择将内容缩放至页面大小,使其完整显示在纸张上。

在不同的打印场景中,开发人员可能需要根据纸张尺寸和输出要求调整 PDF 文档的打印方式。本文将介绍如何使用 C# 实现 PDF 文档的适合页面打印、实际大小打印,以及在自定义尺寸纸张上按实际大小打印。

安装相关依赖

首先,需要将 PDF 处理所需的 DLL 文件添加为 .NET 项目的引用。可以通过下载对应的安装包获取这些文件,也可以使用 NuGet 包管理器进行安装。

代码语言:C#
复制
PM> Install-Package Spire.PDF

使用 C# 将 PDF 内容缩放至适合页面大小

将 PDF 设置为适合页面大小打印时,系统会根据纸张尺寸自动缩放文档内容,确保页面内容完整地显示在可打印区域内,而不受原始文档尺寸的影响。

在 C# 中,可以通过设置打印页面布局和缩放模式来实现这一效果。具体步骤如下:

  • 创建一个 PdfDocument 类的实例。
  • 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
  • 调整打印设置,通过 PdfDocument.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode pageScalingMode, bool autoPortraitOrLandscape) 方法设置页面缩放模式,使 PDF 内容适应纸张尺寸。
  • 调用 PdfDocument.Print() 方法执行打印操作。

完整示例代码如下:

代码语言:C#
复制
using Spire.Pdf;
using Spire.Pdf.Print;

namespace PrintPdfToFitPageSize
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 类的实例
            PdfDocument pdf = new PdfDocument();

            // 将指定的 PDF 文件加载到 PdfDocument 对象中
            pdf.LoadFromFile("Sample.pdf");

            // 配置打印设置,将 PDF 内容缩放至适合纸张大小
            pdf.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, false);

            // 执行打印操作,打印已加载的 PDF 文档
            pdf.Print();
        }
    }
}

使用 C# 按 PDF 原始尺寸打印

按 PDF 原始尺寸打印时,文档内容不会经过缩放,而是保留文件中定义的页面尺寸,确保打印输出与 PDF 的原始尺寸一致。

在 C# 中,可以通过配置打印页面布局来实现这一效果。具体步骤如下:

  • 创建一个 PdfDocument 类的实例。
  • 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
  • 调整打印设置,通过 PdfDocument.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode pageScalingMode, bool autoPortraitOrLandscape) 方法设置打印模式,使 PDF 按原始尺寸输出,不进行缩放。
  • 调用 PdfDocument.Print() 方法执行打印操作。

完整示例代码如下:

代码语言:C#
复制
using Spire.Pdf;
using Spire.Pdf.Print;
using System.Drawing.Printing;

namespace PrintPdfAtActualSize
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 类的新实例
            PdfDocument pdf = new PdfDocument();

            // 将 PDF 文件加载到 PdfDocument 对象中
            pdf.LoadFromFile("Sample.pdf");

            // 将纸张边距设置为 0
            pdf.PrintSettings.SetPaperMargins(0, 0, 0, 0);

            // 配置打印设置,按 PDF 原始尺寸打印,不进行缩放
            pdf.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.ActualSize, false);

            // 执行打印操作,打印已加载的 PDF 文档
            pdf.Print();
        }
    }
}

使用 C# 在自定义尺寸纸张上按 PDF 原始大小打印

在某些场景中,可能需要使用指定尺寸的纸张打印 PDF,同时保留文档的原始页面尺寸。为此,可以通过 PaperSize 类定义自定义纸张大小,再将其设置为文档的打印参数。

具体步骤如下:

  • 创建一个 PdfDocument 类的实例。
  • 使用 PdfDocument.LoadFromFile() 方法加载 PDF 文件。
  • 使用 PaperSize 类定义打印所需的自定义纸张尺寸。
  • 通过 PdfDocument.PrintSettings.PaperSize 属性,将自定义纸张尺寸应用于打印设置。
  • 使用 PdfDocument.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode pageScalingMode, bool autoPortraitOrLandscape) 方法配置打印模式,确保 PDF 按原始尺寸输出,不进行缩放。
  • 调用 PdfDocument.Print() 方法执行打印操作。

完整示例代码如下:

代码语言:C#
复制
using Spire.Pdf;
using Spire.Pdf.Print;
using System.Drawing.Printing;

namespace PrintPdfOnCustomSizedPaper
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 创建 PdfDocument 类的新实例
            PdfDocument pdf = new PdfDocument();

            // 将指定的 PDF 文件加载到 PdfDocument 对象中
            pdf.LoadFromFile("Sample.pdf");

            //// 定义 A3 纸张尺寸用于打印
            //PaperSize paperSize = new PaperSize
            //{
            //    // 将纸张类型设置为 A3
            //    RawKind = (int)PaperKind.A3
            //};

            // 定义自定义纸张尺寸用于打印
            PaperSize paperSize = new PaperSize
            {
                // 设置纸张宽度
                Width = 283 * 100, // 英寸*100
                // 设置纸张高度
                Height = 826 * 100, // 英寸*100
                // 将纸张类型设置为自定义
                RawKind = (int)PaperKind.Custom
            };

            // 将自定义纸张尺寸应用于 PdfDocument 的打印设置
            pdf.PrintSettings.PaperSize = paperSize;

            // 将纸张边距设置为 0
            pdf.PrintSettings.SetPaperMargins(0, 0, 0, 0);

            // 配置打印设置,按 PDF 原始尺寸打印,不进行缩放
            pdf.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.ActualSize, false);

            // 执行打印操作,打印已加载的 PDF 文档
            pdf.Print();
        }
    }
}

总结

本文介绍了如何使用 C# 实现 PDF 文档的多种打印方式,包括将内容缩放至适合页面大小、按原始尺寸打印,以及在自定义尺寸纸张上进行原始尺寸打印。

通过合理配置打印参数,可以根据不同的纸张规格和输出需求控制 PDF 文档的打印效果:

  • 适合页面大小打印:自动缩放 PDF 内容,使其完整显示在纸张的可打印区域内。
  • 按原始尺寸打印:保留 PDF 文档的原始页面尺寸,避免打印过程中发生缩放。
  • 自定义纸张尺寸打印:根据实际打印需求设置纸张的宽度和高度,并按 PDF 原始尺寸输出。

在实际应用中,应根据 PDF 页面尺寸、目标纸张规格及打印设备的支持情况选择合适的打印方式,以确保打印内容符合预期。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 安装相关依赖
  • 使用 C# 将 PDF 内容缩放至适合页面大小
  • 使用 C# 按 PDF 原始尺寸打印
  • 使用 C# 在自定义尺寸纸张上按 PDF 原始大小打印
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档