2013-08-01 183 views
0

我必須使用第三方SDK以System.Drawing.Printing.PrintDocument格式生成報告。由於我的項目不是Windows Form項目(這是一個Web項目),我需要將此System.Drawing.Printing.PrintDocument轉換爲PDF。我已經下載了iTextSharp和SharpPDF,但他們似乎創建了一個新的PDF。我也在這裏閱讀了教程:http://sharppdf.sourceforge.net/Tutorials.html。我的要求是將我已有的文檔轉換爲PDF。在使用這些庫時是否存在缺少的東西?有人可以提供一個示例代碼來實現這一目標嗎?將System.Drawing.Printing.PrintDocument轉換爲PDF c#

回答

0

如何安裝虛擬PDF打印機並「打印」文檔? 例如 - http://www.dopdf.com/http://www.cutepdf.com/products/cutepdf/writer.asp

的如何打印PrintDocument的代碼示例,可以在這裏找到http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx

另一種可能的做法是把顯卡從PrintDocument的(http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.printpage(v=vs.80).aspx,並期待在這裏提出什麼 - http://www.websupergoo.com/helppdfnet/source/4-examples/20-systemdrawing.htm

+0

我不想「打印」的document.I必須將其存儲在database.Since「System.Drawing.Printing.PrintDocument」一個BLOB無法序列化,我不能使用的FileStream以流它。我必須將System.Drawing.Printing.PrintDocument對象轉換爲.doc/pdf或任何其他可序列化的對象,然後才能將其作爲BLOB存儲在數據庫中。你有一個示例代碼可以使用cutepdf/dopdf做到這一點嗎? – user1550951

+0

當您打印到虛擬打印機時,它會創建一個pdf文件。然後,您可以讀取該文件並將其內容存儲在數據庫中的BLOB中。這顯然不是一個好的解決方案,但它是一種執行你所需要的方法。 – Vadim

+0

感謝您的「打印到虛擬打印機」提示。 :)但我怎麼能這樣做?你能提供一些示例代碼嗎? – user1550951

0

你可以通過打印創建文檔中的.NET到文件

exapmle: 轉換的PrintDocument到XPS文件,嘗試代碼:

private void button8_Click(object sender, EventArgs e) 
 
{ 
 
    Addpage = 0; 
 
    printDocument1.PrinterSettings.PrinterName = "Microsoft XPS Document  Writer";   
 
    
 
    printDocument1.DefaultPageSettings.PrinterSettings.PrintToFile = true; 
 

 
    printDocument1.DefaultPageSettings.PrinterSettings.PrintFileName = "d:\\ddd11.xps"; 
 
    printDocument1.PrintController = new StandardPrintController(); 
 
    printDocument1.Print(); 
 

 
}​ 
 

 

在未來的時間,我們會得到轉換printDucument到PDF文件。

謝謝