将aspx页面转换为图像文件

时间:2013-10-09 12:55:14

标签: c# asp.net html5 image image-generation

我为新的属性添加后我有c#动态aspx页面我为记录小册子创建了

http://veneristurkey.com/admin/Brochure.aspx?Admin=PropertiesBrochureA4&id=36

但我希望这个转换图像文件我在互联网上搜索,但所有与webbrowser和Windows窗体。我需要在页面加载显示不css类型也图像文件。 jpg,png或tiff我怎么能做到这一点。我需要查看示例代码..

将aspx页面保存为图像2

4 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,最好的办法是选择尝试将HTML呈现给图像。

以下是允许您将html渲染为图像的库的链接:

http://htmlrenderer.codeplex.com/

以下代码完全符合您的要求:

http://amoghnatu.wordpress.com/2013/05/13/converting-html-text-to-image-using-c/

现在你剩下的就是获取html,因为我假设你不希望在生成这个图像之前将它渲染到浏览器 - 你应该考虑从aspx页面上抓取渲染的html返回之前服务器,然后只返回图像。要呈现页面:

https://stackoverflow.com/a/647866/1017882

排序。

答案 1 :(得分:0)

如果您不介意使用命令行工具,可以查看wkhtmltopdf。该软件包包含一个wkhtmltoimage组件,可用于将HTML转换为图像,使用

wkhtmltoimage [URL] [Image Path]

Codaxy还通过NuGet包管理器编写了一个wkhtmltopdf c# wrapper。我不确定是否包含了wkhtmltoimage组件,但它应该很容易弄清楚它们如何包装wkhtml组件。

答案 2 :(得分:0)

我用截屏机器API修复了我的问题,他们是我的代码..

public void resimyap()         {

        var procad = WS.Satiliklars.Where(v => v.ForSaleID == int.Parse(Request.QueryString["id"])).FirstOrDefault();

        var imageBytes = GetBytesFromUrl("http://api.screenshotmachine.com/?key=xxxxxx&size=F&url=http://xxxxxxx.com/a4.aspx?id=" + procad.ForSaleID);
         string root = Server.MapPath("~/");

            // clean up the path
            if (!root.EndsWith(@"\"))
                root += @"\";

            // make a folder to store the images in
            string fileDirectory = root + @"\images\a4en\";

            // create the folder if it does not exist
            if (!System.IO.Directory.Exists(fileDirectory))
                System.IO.Directory.CreateDirectory(fileDirectory);

        WriteBytesToFile( fileDirectory + + procad.ForSaleID + ".png", imageBytes);

答案 3 :(得分:0)

是的我也尝试wkhtmltopdf c#wrapper但是在pdf或图像转换时间我的电脑迷goin crayz。我也必须上传服务器exe文件,我的托管公司不支持他们