我正在尋找最簡單的方法,使用iTextSharp將當前查看的asp.net網頁導出到PDF文檔 - 它可以是它的截圖或傳遞url來生成文檔。示例代碼將不勝感激。提前謝謝了!ASP.NET網頁到PDF
1
A
回答
0
增加Darin在他的評論中所說的話。
您可以嘗試使用wkhtmltopdf生成PDF文件。它將URL作爲輸入。這是我用於我的SO應用程序so2pdf。
0
這不是那麼容易(或者我認爲是這樣),我有同樣的問題,我不得不編寫代碼來生成PDF格式的確切頁面。它取決於頁面和使用的樣式等,所以我創建每個元素的繪圖。
對於一些項目我使用Winnovative HTML to PDF轉換器,但它不是免費的。
0
給人以PDFSharp一試(在運行時生成的PDF文件),它是開源的庫: http://pdfsharp.com/PDFsharp/index.php?option=com_content&task=view&id=27&Itemid=1
替代解決方案:http://www.bratched.com/en/component/content/article/76-how-to-convert-xhtml-to-pdf-in-c.html
1
在過去的項目中,我們使用Supergoo ABCPDF 來做你需要的東西,它工作得很好。您基本上爲它提供一個url,並將HTML頁面處理爲PDF。
缺點是,它是一個授權軟件,其成本與其相關,當同時導出大量大型PDF時,我們遇到了一些性能問題。
希望這會有所幫助!
0
WInnovative網站上有一個示例Convert the Current HTML Page to PDF,它正是這樣做的。將當前查看的asp.net網頁轉換爲PDF文檔的相關C#代碼是:
// Controls if the current HTML page will be rendered to PDF or as a normal page
bool convertToPdf = false;
protected void convertToPdfButton_Click(object sender, EventArgs e)
{
// The current ASP.NET page will be rendered to PDF when its Render method will be called by framework
convertToPdf = true;
}
protected override void Render(HtmlTextWriter writer)
{
if (convertToPdf)
{
// Get the current page HTML string by rendering into a TextWriter object
TextWriter outTextWriter = new StringWriter();
HtmlTextWriter outHtmlTextWriter = new HtmlTextWriter(outTextWriter);
base.Render(outHtmlTextWriter);
// Obtain the current page HTML string
string currentPageHtmlString = outTextWriter.ToString();
// Create a HTML to PDF converter object with default settings
HtmlToPdfConverter htmlToPdfConverter = new HtmlToPdfConverter();
// Set license key received after purchase to use the converter in licensed mode
// Leave it not set to use the converter in demo mode
htmlToPdfConverter.LicenseKey = "fvDh8eDx4fHg4P/h8eLg/+Dj/+jo6Og=";
// Use the current page URL as base URL
string baseUrl = HttpContext.Current.Request.Url.AbsoluteUri;
// Convert the current page HTML string a PDF document in a memory buffer
byte[] outPdfBuffer = htmlToPdfConverter.ConvertHtml(currentPageHtmlString, baseUrl);
// Send the PDF as response to browser
// Set response content type
Response.AddHeader("Content-Type", "application/pdf");
// Instruct the browser to open the PDF file as an attachment or inline
Response.AddHeader("Content-Disposition", String.Format("attachment; filename=Convert_Current_Page.pdf; size={0}", outPdfBuffer.Length.ToString()));
// Write the PDF document buffer to HTTP response
Response.BinaryWrite(outPdfBuffer);
// End the HTTP response and stop the current page processing
Response.End();
}
else
{
base.Render(writer);
}
}
相關問題
- 1. PDF到網頁
- 2. ASP.NET在網頁上查看PDF
- 3. 在ASP.NET的網頁中打開PDF
- 4. 將網頁導出到pdf
- 5. PHP + html網頁到pdf
- 6. 網頁到pdf轉換python
- 7. 如何使用asp.net將網頁捕獲到PDF?
- 8. 導航到網頁被取消 - ASP.NET&ABC PDF
- 9. PDF渲染到asp.net網頁導致靜態標題
- 10. ASP.net:在一個asp.net網頁上顯示PDF
- 11. 到網頁轉換爲PDF圖像
- 12. 將網頁上的PDF加載到ipad
- 13. 上傳圖片到PDF的網頁
- 14. 將ASHX的PDF返回到網頁
- 15. 春季顯示PDF到網頁
- 16. 將活動PDF嵌入到網頁中?
- 17. 從QtWebKit.webView打印網頁到pdf PyQt4
- 18. 使用iTextSharp顯示pdf到網頁?
- 19. ASP.NET頁面圖片或PDF
- 20. ASP.Net頁面導出爲pdf
- 21. ASP.Net頁面導出爲pdf
- 22. ASP.Net到PDF轉換
- 23. PDF到EPUB在asp.net
- 24. 從asp.net網頁
- 25. 在asp.net頁面查看pdf頁面
- 26. 在網頁中顯示PDF
- 27. PDF中的HTML網頁
- 28. 將網頁轉換爲PDF
- 29. 將網頁導出爲PDF
- 30. 將網頁導出爲PDF
爲什麼要使用iTextSharp執行此操作? iTextSharp無法將ASP.NET頁面轉換爲PDF,也無法將HTML轉換爲PDF。這不是它的意思。它是爲了從頭開始創建PDF文件,你知道,你從一個新的文檔開始,添加文本,圖像等......因此,一種技術可能在於捕獲頁面的屏幕截圖(詢問關於如何做到這一點的另一個問題,這可能會由於重複的數量而關閉),然後使用iTextSharp生成一個PDF,其中包含表示頁面渲染輸出的.jpeg圖像。 – 2011-03-02 19:10:24