打印 PDF 文件时,确保文档内容按照预期效果呈现非常重要。根据实际需求,可以选择按实际大小打印,以保留文档的原始尺寸;也可以选择将内容缩放至页面大小,使其完整显示在纸张上。
在不同的打印场景中,开发人员可能需要根据纸张尺寸和输出要求调整 PDF 文档的打印方式。本文将介绍如何使用 C# 实现 PDF 文档的适合页面打印、实际大小打印,以及在自定义尺寸纸张上按实际大小打印。
首先,需要将 PDF 处理所需的 DLL 文件添加为 .NET 项目的引用。可以通过下载对应的安装包获取这些文件,也可以使用 NuGet 包管理器进行安装。
PM> Install-Package Spire.PDF将 PDF 设置为适合页面大小打印时,系统会根据纸张尺寸自动缩放文档内容,确保页面内容完整地显示在可打印区域内,而不受原始文档尺寸的影响。
在 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();
}
}
}按 PDF 原始尺寸打印时,文档内容不会经过缩放,而是保留文件中定义的页面尺寸,确保打印输出与 PDF 的原始尺寸一致。
在 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();
}
}
}在某些场景中,可能需要使用指定尺寸的纸张打印 PDF,同时保留文档的原始页面尺寸。为此,可以通过 PaperSize 类定义自定义纸张大小,再将其设置为文档的打印参数。
具体步骤如下:
完整示例代码如下:
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 页面尺寸、目标纸张规格及打印设备的支持情况选择合适的打印方式,以确保打印内容符合预期。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。