PDF管理控件Spire.PDF使用教程:添加打印按钮并打印自定义纸张大小

翻译|使用教程|编辑:李显亮|2019-09-26 10:07:56.833|阅读 261 次

概述:当打印PDF文档的时候,默认情况下纸张大小是A4。但是有些情况下原文档不是A4大小,我们需要保持原来的页面大小怎么办呢?

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

Spire.PDF是一个专业的PDF组件,能够独立地创建、编写、编辑、操作和阅读PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API拥有丰富的功能,如安全设置(包括数字签名)、PDF文本/附件/图片提取、PDF文件合并/拆分、元数据更新、章节和段落优化、图形/图像描绘和插入、表格创建和处理、数据导入等等。

>>Spire.PDF更新至最新版v5.9.6,欢迎下载体验

C# 自定义纸张大小打印 PDF

当打印PDF文档的时候,默认情况下纸张大小是A4。但是有些情况下原文档不是A4大小,我们需要保持原来的页面大小怎么办呢?这个时候就需要自定义纸张大小来实现这个功能。

情况1:使用虚拟打印机自定义纸张大小打印,比如保持原来页面大小打印到PDF。

//加载需要打印的PDF文档
Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
doc.LoadFromFile(FileName);

//获取原文档第一页的纸张大小,这里的单位是Point
SizeF size = doc.Pages[0].Size;

//实例化PaperSize对象,设置其宽高
//需要特别注意的是这里涉及到单位的转换,PaperSize的宽高参数默认单位是百英寸 
PaperSize paper = new PaperSize("Custom", (int)size.Width/72*100, (int)size.Height/72*100);
paper.RawKind = (int)PaperKind.Custom;

//设置打印的纸张大小为原来文档的大小
doc.PrintSettings.PaperSize = paper;

//需要选择FitSize打印模式
doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true);
//打印
doc.Print();

情况2:使用真实打印机设置纸盒中的纸张大小打印,比如原来A4的文档打印成A3的大小。

//加载需要打印的PDF文档
 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
 doc.LoadFromFile(FileName);

 PaperSize p = null;
 //实例化一个PrintDocument对象来获取当前打印机的纸盒信息
 PrintDocument printDoc = new PrintDocument();

 //遍历打印机纸盒里面的纸张,找到需要的A3
foreach (PaperSize ps in printDoc.PrinterSettings.PaperSizes)
            {
                if (ps.PaperName.Equals("A3"))
                {
                    p = ps;
                    break;
                }
               
            }

 //设置打印的纸张大小为A3
 doc.PrintSettings.PaperSize = p;

 //打印
 doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true);
 doc.Print();

C# 在 PDF 文档中添加打印按钮

代码:

//加载PDF文档
PdfDocument doc = new PdfDocument("Input.pdf");
doc.AllowCreateForm = true;
//在第一页创建一个PdfButtonField实例,并为按钮设置属性
PdfPageBase page = doc.Pages[0];
PdfButtonField button = new PdfButtonField(page, "Print");
//设置按钮属性
button.Bounds = new RectangleF(280, 600, 50, 20);
button.BorderColor = new PdfRGBColor(Color.AliceBlue);
button.BorderStyle = PdfBorderStyle.Solid;
button.ForeColor = new PdfRGBColor(Color.White);
button.BackColor = new PdfRGBColor(Color.Blue);
button.ToolTip = "Print";
button.Text = "Print";
button.Font = new PdfFont(PdfFontFamily.Helvetica, 9f);
//将打印功能添加到按钮中
button.AddPrintAction();
//添加按钮
doc.Form.Fields.Add(button);
//保存文档
doc.SaveToFile("Output.pdf");

效果图:

PDF管理控件Spire.PDF使用教程:添加打印按钮并打印自定义纸张大小

*国庆大放价 ,不限量超值优惠券免费领取,更多活动详情咨询在线客服了解哦~


扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯

1562572142.jpg

Spire-850x100.png




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
title
相关厂商
相关产品
Spire.PDF for .NET

Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部