C# 列印PDF文檔的10種方法

2021-02-27 CSharp編程大全

操作PDF文檔時,列印是常見的需求之一。針對不同的列印需求,可分多種情況來進行,如設置靜默列印、指定列印頁碼範圍和列印紙張大小、雙面列印、黑白列印等等。經過測試,下面將對常見的幾種PDF列印需求做一些歸納總結,這裡歸納了10種列印需求及方法。如下:

使用默認印表機列印PDF文檔

使用虛擬印表機(Microsoft XPS Document Writer)列印PDF文檔

指定印表機及PDF文檔列印頁碼範圍

靜默列印PDF文檔

雙面列印PDF文檔

黑白列印PDF文檔

列印PDF文檔時選擇不同的出紙盒

將PDF文檔列印多份

列印PDF一頁為多頁、列印多頁為一頁

自定義紙張大小列印PDF

使用工具:Spire.PDF for .NET獲取方法:

1. 通過官網下載。在程序中添加引用Spire.Pdf.dll,dll文件在安裝路徑下的bin文件夾中。

2. 通過Nuget網站下載。

 C# 示例代碼【示例1】使用默認印表機列印PDF

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.Print();

 

【示例2】使用虛擬印表機(Microsoft XPS Document Writer)列印PDF

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.PrintSettings.PrinterName = "Microsoft XPS Document Writer";
doc.PrintSettings.PrintToFile("PrintToXps.xps");doc.Print();

 

【示例3】指定印表機及PDF文檔列印頁碼範圍

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.PrintSettings.PrinterName = "HP LaserJet P1007";
doc.PrintSettings.SelectPageRange(1, 5);

doc.Print();

 

【示例4】靜默列印PDF

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.PrintSettings.PrintController = new StandardPrintController();doc.Print();

 

【示例5】雙面列印PDF


PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
if (doc.PrintSettings.CanDuplex){ doc.PrintSettings.Duplex = Duplex.Default; doc.Print();}

 

【示例6】黑白列印PDF

PdfDocument pdf = new PdfDocument();pdf.LoadFromFile("Test.pdf");
pdf.PrintSettings.Color = false;pdf.Print();

 

【示例7】列印PDF文檔時選擇不同的出紙盒

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.PrintSettings.PaperSettings += delegate(object sender, PdfPaperSettingsEventArgs e){ if (1 <= e.CurrentPaper && e.CurrentPaper <= 50) { e.CurrentPaperSource = e.PaperSources[0]; } else { e.CurrentPaperSource = e.PaperSources[1]; }};
doc.Print();

 

【示例8】將PDF文檔列印多份

PdfDocument doc = new PdfDocument();doc.LoadFromFile("Test.pdf");
doc.PrintSettings.Copies = 2;
doc.Print();

【示例9】列印PDF一頁為多頁,多頁為一頁

1. 調用PdfPrintSettings類的SelectMultiPageLayout方法將一個PDF文檔的多張頁面列印到一張紙上。


PdfDocument pdf = new PdfDocument();pdf.LoadFromFile("Input.pdf");
pdf.PrintSettings.SelectMultiPageLayout(1, 2);pdf.Print()

2. PdfPrintSettings類的SelectSplitPageLayout方法支持將一個PDF文檔的單張頁面列印到多張紙上。該方法是根據A4紙的標準尺寸595pt*842pt對PDF頁面進行拆分,超過該大小的頁面,列印時其超過部分將會被列印到下一張紙。


PdfDocument pdf = new PdfDocument();pdf.LoadFromFile("Input1.pdf");
pdf.PrintSettings.SelectSplitPageLayout();pdf.Print()

 

【示例10】自定義紙張大小列印PDF

1. 使用虛擬印表機自定義紙張大小列印:保持原來頁面大小列印到PDF


Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();doc.LoadFromFile(FileName);
SizeF size = doc.Pages[0].Size;
PaperSize paper = new PaperSize("Custom", (int)size.Width/72*100, (int)size.Height/72*100);paper.RawKind = (int)PaperKind.Custom;
doc.PrintSettings.PaperSize = paper;
doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true);doc.Print();

2. 使用真實印表機設置紙盒中的紙張大小列印:將原來A4的文檔列印成A3的大小。


Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument(); doc.LoadFromFile(FileName);
PaperSize p = null; PrintDocument printDoc = new PrintDocument();
foreach (PaperSize ps in printDoc.PrinterSettings.PaperSizes) { if (ps.PaperName.Equals("A3")) { p = ps; break; } }
doc.PrintSettings.PaperSize = p;
doc.PrintSettings.SelectSinglePageLayout(PdfSinglePageScalingMode.FitSize, true); doc.Print();

推薦一個公眾號:dotNET編程大全,掃碼關注!

需加微信交流群的,請加小編微信號z438679770,切記備註 加群,小編將會第一時間邀請你進群!

 每日分享不易,"在看"就是鼓勵!

相關焦點

  • 怎麼列印PDF文檔?設置PDF雙面列印的方法
    然而工作是這麼的繁重,手裡有幾十份pdf學習資料,要列印成雙面的,上下班路上還可以看一看。剛開始一臉懵並不知道pdf文件怎麼實現雙面列印,但是在朋友的指導下,還是學到了一些方法。分享給大家1、最好印表機支持雙面列印。對於普通印表機來說,列印結束後,需要人工將已經列印的紙張翻轉向上重新放入印表機進行列印。
  • python連接印表機列印文檔、圖片、pdf文件等
    https://blog.csdn.net/kaspar1992/article/details/100088079 引言 python連接印表機進行列印,可能根據需求的不同,使用不同的函數模塊。如果你只是簡單的想列印文檔,比如office文檔,你可以使用方法,對於微軟office的文檔、pdf、txt等有用,你可以嘗試下; 如果你輸入某些數據,文字信息,就想直接把它發送給印表機列印,那麼
  • 8種方法將PDF轉換為Word文檔
    但是將PDF文件轉換為Word文檔就沒那麼簡單了,特別是某些掃描文件製作的PDF文檔(也就是裡面的所有內容其實都是圖片)。下面就是介紹8種PDF轉換為Word文檔的方法,相信總有一種可以滿足你的要求。Smallpdf是一個提供免費文檔格式轉換服務的網站,可以非常方便地將文字型PDF轉換為Word格式。
  • 如何把自己電腦圖片做成pdf文檔?
    想把同一產品圖片做成pdf文檔給客戶,那該如何把自己電腦圖片做成電子版?下面給大家介紹幾種方法!方法1,搜索「在線JPG轉pdf",有很多的免費網站,圖片少或偶爾使用,建議用這種方法。點擊 」現在就創建PDF「第三步,點擊 下載, 圖片轉換完成方法2.經常要轉換圖片,建議安裝Adobe Acrobat 9 Pro專業版,下面轉換方法。
  • 在Articulate Storyline分享PDF文檔的三種方法
    其實很簡單,三種方法讓你在Articulate Storyline輕鬆實現課程資料分享。PDF是最常用的資料分享格式,我們就以pdf文件為例來聊聊……第一種:附件資料這是最常用的方法,作為附件資料放到課程的頂部,學員點擊相應的PDF文檔,會彈出相應的資料,可以瀏覽也可下載。
  • 如何把pdf拆分成單頁?一個編輯pdf文檔的方法
    如何把pdf拆分成單頁?pdf文件是我們經常能夠接觸到的一種文檔格式,由於pdf文檔不容易編輯的特點,因此能夠很好地避免文檔誤觸而被修改的情況。同時也因為pdf不易編輯的特點使得很多小夥伴不知道怎麼將pdf拆分成單頁,接下來小編將pdf拆分成單頁教你一個編輯pdf文檔的方法。
  • 快速編輯PDF文檔
    PDF文檔具有較好的版權保護及在線閱讀優勢,但內容修改非常不便,本教程介紹幾種快速編輯修改PDF文檔內容的方法和技巧。
  • PDF文檔怎麼轉換成excel格式?教你兩個把PDF轉excel的方法
    PDF文檔格式不容易修改,因此很多人在預覽或傳遞excel文檔時會將其轉換成PDF格式。這樣下來傳遞和預覽是方便了,但是接收方卻要開始犯難了,想要編輯文件但卻又無從下手。那這時該怎麼去處理,放任不管嗎?
  • 如何讓電腦自動幫你列印文檔
    今天我們接著學習如何讓電腦自動幫你列印文檔。使用場景:小編每天上班前要提前列印例行的一些報表給公司的其它上早班的同事,那小編又不可能每天都提前1-2小時到公司,去整理和列印,怎麼辦呢?我們可以設置好時間讓電腦提前幫你列印好供他人使用。
  • pdf文檔翻譯怎麼做?怎麼把pdf文檔翻譯成中文?
    pdf文檔翻譯怎麼做?平時工作上,很多小夥伴需要和外國客戶打交道。這時候,便需要使用迅捷PDF轉換器翻譯pdf文檔後,再發送出去。這款軟體可以把pdf文檔中文翻外文,也支持把pdf文檔翻譯成中文。下面,我們一起來看看怎麼用它翻譯pdf文檔哦。
  • 怎麼利用pdf在線拆分的方法將pdf文檔拆分成多個
    怎麼利用pdf在線拆分的方法將pdf文檔拆分成多個?pdf是經常能夠接觸到的一種文檔格式,其特點在於能夠很好地避免因為滑鼠或鍵盤誤觸而導致文檔被莫名修改的情況。但是隨之而來的就是pdf文檔變得不容易編輯,使得很多小夥伴想把pdf拆分成多頁卻不知道從何入手。
  • pdf怎麼轉換成word?教你用3種方式轉換pdf文檔,快來了解一下吧
    pdf文檔格式具有較強的兼容性和安全性,也正因為這兩個優點讓很多人在傳遞或分享文件前都喜歡把已有文件轉換成pdf格式。俗話說『尺有所短,寸有所長』,想要編輯pdf文件卻並沒有那麼容易。所以在下載或獲得pdf文檔後不少人會想pdf怎麼轉換成word或excel等格式。
  • 10種快速翻譯文檔的方法
    下面就給大家分享10種方法來解決這個問題有了這些方法撰寫學術論文的效率也許會大大提高喔~方法四騰訊文檔:https://docs.qq.com/desktop在翻譯框下面會有一個上傳文檔的連結,同樣可以上傳文檔進行翻譯。對於國內版的谷歌翻譯(https://translate.google.cn),翻譯框下面是沒有這個上傳文檔的連結的。
  • Caj轉pdf有哪些不收費的轉換方法?
    Caj是國內期刊和文獻的一種文檔格式,由於其編輯相對常用Word或PDF難度更大,目前可以搜索到的轉換方法也不多,所以caj一度讓很多人無從下手。如何CAJ轉PDF?有沒有不收費的轉換工具或方法?工具1:CAJViewer+PDF虛擬印表機我們都知道要打開CAJ文檔必須使用專用的CAJViewe閱讀器,但其實這個閱讀器除了打開文檔外還能將CAJ轉成PDF。
  • Word教程:文檔」雙面列印「全攻略,解決列印難題!
    ,文檔排版、列印文檔等都會用到。技巧1:雙面列印並預留裝定位通常我們需要雙面列印主要有兩個目的,一是節省紙張,可以減少一半的列印紙;二是裝訂成冊。想要裝訂成冊,需要我們對word文檔進行特殊的處理,不然就有可能裝訂到文檔中的文字。
  • 3種方法教你用Kindle完美閱讀pdf文件
    這個時候,若能用 Kindle 閱讀 pdf 格式的文檔,那就完美解決了一些理工科專業工作者的需求——桑尼君來自公眾號:桑尼電子桑尼君在未「染指」kindle之前,其實一直在用「大型設備」閱讀電子書刊,目的就是最大程度地還原閱讀紙質書的質感。
  • 快速去除PDF的打開密碼和限制(四種方法)
    >不能列印和複製文字內容。這其實是 PDF 的作者為文檔加上了保護限制而已,今天給大家介紹幾種方法,可以輕鬆地破解這些限制。注意:這裡適用的情況是你已經知道該 PDF 文件的密碼,而不是強行破解 PDF 密碼! 在不知道 PDF 密碼的情況下它並不能去除密碼或者文檔的限制!
  • pdf文件怎麼打開?分享4種方法來打開pdf文件!
    pdf文件怎麼打開?隨著時代的發展,pdf文件慢慢的進入到大家的視野,在眾多文檔中,pdf文件的兼容性比較高,在不同設備上打開,也不容易變成亂碼文件。而我們常用的word、Excel等文件的使用效果就沒有那麼好了。pdf文件打開方式也有很多種,今天總結了一些,給大家分享一下。
  • 學英語要知道的10種快速翻譯文檔方法!
    對於一份Word 或pdf文檔怎樣才能快速地翻譯呢?
  • PDF文檔翻譯神器,英文文獻一鍵翻譯成中文!
    我們平時下載的外文文獻,大多數是pdf的,所以在找翻譯軟體的時候,還要考慮到格式是否支持的問題。那麼,怎麼把英文pdf翻譯成中文?英文文獻翻譯軟體哪個更好用呢?下面我們就來分享一下英文pdf翻譯成中文的方法。