如何使用ASP.Net,C#中的abcpdf將HTML文件下載爲PDF格式?使用abcpdf將pdf文件下載爲PDF
3
A
回答
1
下ASP.NET例如,在C#中說明了如何從一個網頁創建一個PDF和它傳輸到網絡瀏覽器...
<% @Page Language="C#" %>
<% @Import Namespace="WebSupergoo.ABCpdf7" %>
<%
Doc theDoc = new Doc();
theDoc.AddImageUrl("http://www.example.com");
byte[] theData = theDoc.GetData();
Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline; filename=MyPDF.PDF");
Response.AddHeader("content-length", theData.Length.ToString());
Response.BinaryWrite(theData);
Response.End();
%>
從「內嵌」到「改變內容處置依戀'會改變行爲。
有關Doc.GetData()函數的產品文檔中還有一些需要注意的更多信息,您可能還會發現'Paged HTML Example'有幫助。
0
這就是你如何使用ABCPdf來實現這一目標。
http://www.websupergoo.com/helppdf7net/source/4-examples/13-pagedhtml.htm
Doc theDoc = new Doc();
theDoc.Rect.Inset(72, 144);
theDoc.Page = theDoc.AddPage();
int theID;
theID = theDoc.AddImageUrl("http://www.yahoo.com/");
while (true) {
theDoc.FrameRect(); // add a black border
if (!theDoc.Chainable(theID))
break;
theDoc.Page = theDoc.AddPage();
theID = theDoc.AddImageToChain(theID);
}
for (int i = 1; i <= theDoc.PageCount; i++) {
theDoc.PageNumber = i;
theDoc.Flatten();
}
theDoc.Save(Server.MapPath("pagedhtml.pdf"));
theDoc.Clear();
1
這種方法適用於我們的項目
/// <summary>
/// Converts Html to pdf
/// </summary>
/// <param name="htmlOrUrl">Html markup of html page URL</param>
/// <param name="isUrl">previous parameter is URL</param>
/// <param name="highQuality">use high quality converter engine</param>
/// <param name="indent">indent from all sides of the page</param>
/// <returns>Memory stream with PDF-file</returns>
public static MemoryStream HtmlToPDF(this String htmlOrUrl, Boolean isUrl, Boolean highQuality = false, Int32 indent = 20)
{
using (var doc = new Doc())
{
doc.Color.String = "0, 0, 0";
doc.HtmlOptions.UseScript = true;
doc.HtmlOptions.AddLinks = true;
if (highQuality)
{
doc.HtmlOptions.Engine = EngineType.Gecko;
}
// 1. CONTENT BLOCK
doc.Rect.Left = 0 + indent;
doc.Rect.Top = 792 - indent;
doc.Rect.Right = 612 - indent;
doc.Rect.Bottom = 0 + indent;
doc.AppendChainable(htmlOrUrl, isUrl);
var ms = new MemoryStream();
doc.Save(ms);
if (ms.CanSeek)
{
ms.Seek(0, SeekOrigin.Begin);
}
return ms;
}
}
/// <summary>
/// Appends document with multipage content
/// </summary>
private static void AppendChainable(this Doc doc, String htmlOrUrl, Boolean isUrl = false)
{
Int32 blockId = isUrl
? doc.AddImageUrl(htmlOrUrl)
: doc.AddImageHtml(String.Format(HtmlWrapper, htmlOrUrl));
while (doc.Chainable(blockId))
{
//doc.FrameRect(); // add a black border
doc.Page = doc.AddPage();
blockId = doc.AddImageToChain(blockId);
}
}
//使用
var testMs1 = ABCPdfConverter.ABCConverter.HtmlToPDF("https://developers.google.com
/chart/interactive/docs/examples", true, false, 20);
testMs1.StreamToFile(@"D:/3.pdf");
//和數據流以文件
/// <summary>
/// Saves stream instance to file
/// </summary>
public static void StreamToFile(this MemoryStream input, String outputFileName)
{
var dirName = Path.GetDirectoryName(outputFileName);
var fileName = Path.GetFileName(outputFileName);
if (String.IsNullOrEmpty(dirName) || String.IsNullOrWhiteSpace(fileName))
{
throw new IOException("outputFileName");
}
using (FileStream outStream = File.Create(outputFileName))
{
input.WriteTo(outStream);
outStream.Flush();
outStream.Close();
}
}
相關問題
- 1. ABCpdf損壞PDF文件
- 2. ABCPdf - 打開PDF文件
- 3. 用ABCPDF解析PDF
- 4. 用JavaScript下載PDF文件
- 5. 用C#下載PDF文件
- 6. Python - 下載pdf文件(非.pdf)url
- 7. 將html網頁轉換爲pdf頁面(用戶將下載的pdf文件)
- 8. 使用php下載pdf文件
- 9. 如何使用asp.net下載pdf文件?
- 10. 使用chromedriver直接下載PDF文件
- 11. 使用webcrawler下載pdf文件
- 12. 使用OKHTTP下載pdf文件
- 13. 使用htaccess強制PDF文件下載
- 14. Alamofire不下載PDF文件
- 15. 使用wkhtmltopdf生成PDF並下載pdf
- 16. 下載頁面爲pdf文件
- 17. php pdf文件下載:無法加載PDF文檔
- 18. HTML to PDF轉換使用ABCpdf工具
- 19. 打印風景html-> pdf使用abcPDF
- 20. PHP:試圖使pdf文件可下載
- 21. 在與angularjs相同的PDF文件夾中下載PDF文件
- 22. 從Zip文件中下載PDF文件
- 23. 使用tcpdf將mathml下載到PDF中
- 24. 使用Google Drive android SDK將文檔下載爲PDF
- 25. Ajax調用在jsp下載pdf文件
- 26. 使用PDFKit下載pdf
- 27. umbraco 7:從pdf下載附件pdf
- 28. 使用applescript將文件導出爲pdf
- 29. 使用itextsharp下載zing圖表爲pdf
- 30. 如何使用SVG圖形將PDF轉換爲PDF文件?