gpt4 book ai didi

.net - 将 HTML 转换为 PDF

转载 作者:太空狗 更新时间:2023-10-29 16:38:15 24 4
gpt4 key购买 nike

引用较早的帖子 ( PDF Report generation )

我决定使用类似于 http://www.alistapart.com/articles/boom 的解决方案

对于那些不想阅读任何引用资料的人 - 我正在创建一份报告并需要它的 PDF 格式。我决定使用 .NET 走 HTML -> PDF 路线。

那么,假设我得到的 HTML 文件与我想要的完全一样。将所述页面转换为 PDF 的最佳方法是什么?本质上,我希望用户看到 HTML 格式的“预览”,然后能够将所述页面转换为 PDF。我目前正在试验的图书馆是 ABCPdf。

我的第一个想法是将页面保存到文件系统,并在页面本身的事件处理程序期间在转换例程中引用它的 URL。这有它的问题,因为每次渲染页面时我都必须保存页面以准备打印它。实际上,它只是看起来很落后。

我的下一个想法是使用页面的呈现方法将页面捕获为字节流并使用它(因为 ABCPdf 支持转换 HTML 流。)如果这是我的答案,我不知道如何实际提取它离开。有一个“打印”按钮,它的处理程序执行 Me.Render() 到字节流并将其发送到转换例程?这可能吗?

底线 - 一旦页面以漂亮的 HTML 呈现,您如何初始化该页面到 PDF 的转换?欢迎提出解决方法和其他解决方案。

我希望我遗漏了一些明显的东西,因为这一定是“简单的部分

最佳答案

好的,开始工作了——而且相当简单。只是将其传递给可能需要答案的下一个人。我只是使用了页面的 Url 属性并将其发送到 ABCPdf addImageUrl() 方法。还必须使用链接,因为它不止一页。感谢您提供的所有帮助。

Dim oPdfDoc As New Doc()
Dim iPageID As Int32
Dim MyUrl = Request.Url

iPageID = oPdfDoc.AddImageUrl(MyUrl.AbsoluteUri)

While True
oPdfDoc.FrameRect()
If Not oPdfDoc.Chainable(iPageID) Then
Exit While
End If
oPdfDoc.Page = oPdfDoc.AddPage()
iPageID = oPdfDoc.AddImageToChain(iPageID)
End While

For i as Int32 = 1 To oPdfDoc.PageCount
oPdfDoc.PageNumber = i
oPdfDoc.Flatten()
Next

oPdfDoc.Save(Server.MapPath("test.pdf"))
oPdfDoc.Clear()

关于.net - 将 HTML 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1981503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com