C# 获取已发布HTML页面的快照?

C# 获取已发布HTML页面的快照?,c#,webclient,httprequest,C#,Webclient,Httprequest,我正在使用expertPDF将几个网页转换为PDF,有一个我很难处理。此页面仅在发布信息时呈现内容,内容为文本和PNG图形(图形是最重要的部分) 我尝试创建一个页面表单,在主体onload=''事件上使用“自动提交”。如果我进入这个页面,它会自动发布到第三方页面,我会得到我期望的页面。但如果页面被重定向,ExpertPDF似乎不会拍摄“快照” 我尝试使用HTTPRequest/Response和WebClient,但只能检索HTML,其中不包括PNG图形。 你知道我如何创建一个包含HTML和PN

我正在使用expertPDF将几个网页转换为PDF,有一个我很难处理。此页面仅在发布信息时呈现内容,内容为文本和PNG图形(图形是最重要的部分)

我尝试创建一个页面表单,在主体
onload=''
事件上使用“自动提交”。如果我进入这个页面,它会自动发布到第三方页面,我会得到我期望的页面。但如果页面被重定向,ExpertPDF似乎不会拍摄“快照”

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

非常感谢您的帮助-我花了太多时间尝试这一嗅嗅。 谢谢

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

快速浏览ExpertPDF页面,这里有一个专门针对您的问题的常见问题解答。我建议你看看这个

**更新**

请看第二个常见问题:

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


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

我是否理解正确,ExpertPDF需要指向静态内容(HTML+PNG)的URL要准备PDF?ExpertPDF可以将多个网页附加在一起以创建单个PDF(我已经在这样做了),但我需要再附加一个网页,该网页仅在某些数据发布到其中时才呈现。如果我将此页面的URL传递给ExpertPDF以附加到PDF,它不会附加任何内容,因为它使用的是“GET”而不是“POST”(不会呈现任何内容)。我只是查看了faq页面(第十次lol),但我没有看到像我所问的那样的内容。我能够创建第二个httprequest并获得PNG文件的响应(我假设是一堆ASCII字符编码),但我不知道如何将两者结合在一起,以便一个内存流是html和PNG编码文本的组合。我知道电子邮件中嵌入了使用MIME的图形,不确定是否有可能创建一个“类似MIME”的MemoryStream或byte[],然后我可以使用它附加到ExpertPDF?我应该补充一点,ExpertPDF允许我附加[一组组合类型],但我想用于附加的输出格式是byte[]或者记忆之流——提前感谢啊,我不确定我怎么会错过它,但这让我朝着解决它的方向前进。谢谢大猩猩!