您的位置:首页 > 手游攻略 > C#代码实现方式按实际大小打印PDF或将其缩放至适合页面实用指南

C#代码实现方式按实际大小打印PDF或将其缩放至适合页面实用指南

作者:互联网  时间: 2026-11-11 11:20:01  

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“C#代码实现方法按实际大小打印PDF或将其缩放至适合页面”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

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

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

安装相关依赖

从实现思路看,首先,需将 PDF 处理所需的 DLL 文件添加为 .NET 项目的引用。能够借助下载对应的安装包拿到这些文件,也能够采用 NuGet 包管理器进行安装。

PM> Install-Package Spire.PDF

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

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

在 C# 里,能够借助设置打印页面布局和缩放模式来实现这一效果。具体步骤如下所示:

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

完整示例如下所示:

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() 方法执行打印操作。

完整示例如下所示:

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() 方法执行打印操作。

完整示例如下所示:

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 页面尺寸、目标纸张规格及打印设备的兼容情况选择合适的打印方式,以确保打印内容符合预期。

从实现思路看,总的来说,C#打印PDF文档适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

相关资讯

最新游戏

更多

Copyright©2010-2019. All rights reserved | 波波三国游戏官网|[email protected]

备案编号:湘ICP备2022015115号-4