PDF管理控件Spire.PDF使用教程:添加打印按鈕并打印自定義紙張大小
Spire.PDF是一個(gè)專業(yè)的PDF組件,能夠獨(dú)立地創(chuàng)建、編寫、編輯、操作和閱讀PDF文件,支持 .NET、Java、WPF和Silverlight。Spire.PDF的PDF API擁有豐富的功能,如安全設(shè)置(包括數(shù)字簽名)、PDF文本/附件/圖片提取、PDF文件合并/拆分、元數(shù)據(jù)更新、章節(jié)和段落優(yōu)化、圖形/圖像描繪和插入、表格創(chuàng)建和處理、數(shù)據(jù)導(dǎo)入等等。
>>Spire.PDF更新至最新版v5.9.6,歡迎下載體驗(yàn)
C# 自定義紙張大小打印 PDF
當(dāng)打印PDF文檔的時(shí)候,默認(rèn)情況下紙張大小是A4。但是有些情況下原文檔不是A4大小,我們需要保持原來的頁面大小怎么辦呢?這個(gè)時(shí)候就需要自定義紙張大小來實(shí)現(xiàn)這個(gè)功能。
情況1:使用虛擬打印機(jī)自定義紙張大小打印,比如保持原來頁面大小打印到PDF。
//加載需要打印的PDF文檔 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); doc.LoadFromFile(FileName); //獲取原文檔第一頁的紙張大小,這里的單位是Point SizeF size = doc.Pages[0].Size; //實(shí)例化PaperSize對(duì)象,設(shè)置其寬高 //需要特別注意的是這里涉及到單位的轉(zhuǎn)換,PaperSize的寬高參數(shù)默認(rèn)單位是百英寸 PaperSize paper = new PaperSize("Custom", (int)size.Width/72*100, (int)size.Height/72*100); paper.RawKind = (int)PaperKind.Custom; //設(shè)置打印的紙張大小為原來文檔的大小 doc.PrintSettings.PaperSize = paper; //需要選擇FitSize打印模式 doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true); //打印 doc.Print();
情況2:使用真實(shí)打印機(jī)設(shè)置紙盒中的紙張大小打印,比如原來A4的文檔打印成A3的大小。
//加載需要打印的PDF文檔 Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); doc.LoadFromFile(FileName); PaperSize p = null; //實(shí)例化一個(gè)PrintDocument對(duì)象來獲取當(dāng)前打印機(jī)的紙盒信息 PrintDocument printDoc = new PrintDocument(); //遍歷打印機(jī)紙盒里面的紙張,找到需要的A3 foreach (PaperSize ps in printDoc.PrinterSettings.PaperSizes) { if (ps.PaperName.Equals("A3")) { p = ps; break; } } //設(shè)置打印的紙張大小為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; //在第一頁創(chuàng)建一個(gè)PdfButtonField實(shí)例,并為按鈕設(shè)置屬性 PdfPageBase page = doc.Pages[0]; PdfButtonField button = new PdfButtonField(page, "Print"); //設(shè)置按鈕屬性 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");
效果圖:
*國慶大放價(jià) ,不限量超值優(yōu)惠券免費(fèi)領(lǐng)取,更多活動(dòng)詳情可咨詢?cè)诰€客服了解哦~
掃描關(guān)注“慧聚IT”微信公眾號(hào),及時(shí)獲取更多產(chǎn)品最新動(dòng)態(tài)及最新資訊