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

2025-11-03 17:18:36

1、1.通过官网(https://www.e-iceblue.cn/Introduce/Free-Spire-PDF-NET.html)下载安装包--解压-安装。在程序中添加引用Spire.Pdf.dll,dll文件在安装路径下的bin文件夹中。

2.通过Nuget官网下载。(http://www.nuget.org/packages/FreeSpire.PDF/)

1、//加载需要打印的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();

1、//加载需要打印的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();

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:32
  • 阅读量:166
  • 阅读量:120
  • 阅读量:137
  • 阅读量:55
  • 猜你喜欢