LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]C#自定义纸张大小打印PDF文件

admin
2022年12月22日 16:5 本文热度 1109

当打印PDF文档的时候,默认情况下纸张大小是A4。但是有些情况下原文档不是A4大小,我们需要保持原来的页面大小怎么办呢?这个时候就需要自定义纸张大小来实现这个功能。本文将介绍如何使用.NET PDF组件Spire.PDF在C#应用程序中自定义纸张大小打印PDF。

在使用以下代码前,需要下载Spire.PDF安装,并从安装路径下引用Spire.Pdf.dll到工程中(或可从NuGet搜索Spire.PDF并安装)。

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

  1. //加载需要打印的PDF文档
  2. Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
  3. doc.LoadfromFile(FileName);
  4. //获取原文档第一页的纸张大小,这里的单位是Point
  5. SizeF size = doc.Pages[0].Size;
  6. //实例化PaperSize对象,设置其宽高
  7. //需要特别注意的是这里涉及到单位的转换,PaperSize的宽高参数默认单位是百英寸
  8. PaperSize paper = new PaperSize("Custom", (int)size.Width/72*100, (int)size.Height/72*100);
  9. paper.RawKind = (int)PaperKind.Custom;
  10. //设置打印的纸张大小为原来文档的大小
  11. doc.PrintSettings.PaperSize = paper;
  12. //需要选择FitSize打印模式
  13. doc.PrintSettings.selectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true);
  14. //打印
  15. doc.Print();

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

  1. //加载需要打印的PDF文档
  2. Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
  3. doc.LoadfromFile(FileName);
  4. PaperSize p = null;
  5. //实例化一个PrintDialog对象来获取当前打印机的纸盒信息
  6. PrintDialog dialogPrint = new PrintDialog();
  7. //遍历打印机纸盒里面的纸张,找到需要的A3
  8. foreach (PaperSize ps in dialogPrint.PrinterSettings.PaperSizes)
  9. {
  10. if (ps.PaperName.Equals("A3"))
  11. p = ps;
  12. }
  13. //设置打印的纸张大小为A3
  14. doc.PrintSettings.PaperSize = p;
  15. //打印
  16. doc.PrintSettings.selectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true);
  17. doc.Print();

该文章在 2022/12/22 16:05:40 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved