获取发布的HTML页面的快照?

时间:2012-08-23 12:59:36

标签: c# webclient httprequest

我正在使用expertPDF将几个网页转换为PDF,而且还有一个我遇到困难的网页。此页面仅在向其发送信息时呈现内容,内容为文本和PNG图表(图表是最重要的部分)。

我尝试在正文onload=''事件中创建一个带有“自动提交”的页面表单。如果我转到此页面,它会自动发布到第三方页面,我会按照我的预期获得页面。但是,如果重定向页面,似乎ExpertPDF不会拍摄“快照”。

我尝试使用HTTPRequest / Response和WebClient,但只能检索不包含PNG图的HTML。 我知道如何创建一个包含HTML和PNG图形或发布到它的内存流,然后以某种方式将ExpertPDF发送到该URL以获取发布结果的快照?

非常感谢帮助 - 我花了太多时间尝试这个嗅探。 谢谢!

1 个答案:

答案 0 :(得分:1)

在HTML / HTTP中,网页(HTML)是与其包含的任何图像不同的资源。因此,您需要解析HTML并找到指向图表的URL,然后再向该URL发出第二个请求以获取图像。 (这是除非页面将图像内联吐出,这是非常罕见的,如果是这种情况,你可能不会问。)

快速浏览一下ExpertPDF的FAQ页面,这是一个常见问题解答,专门用来处理你的问题。我建议你看一下。

** 更新 **

看看第二个FAQ问题:

  

问:当我将HTML字符串转换为PDF时,外部CSS文件和图像不会应用于呈现的PDF文档。

您可以从WebClient获取原始(单个)响应并将其转换为字符串,并根据该问题的答案将该字符串传递给ExpertPDF。