宁波SEO研究所最近发现HTML生成PDF推广方案,也许不少站长可能了解到利用HTML生成PDF的方法,方法不一,做SEO拼得就是细节。在此把自己的心得分享给大家!
wkhtmltopdf 工具,一个集成好了的exe文件(C++编写),基本的调用方法是,wkhtmltopdf www.zyseo.org myhomepage.pdf,可以先在命令行测试一下,有其他的需要可以在命令行通过wkhtmltopdf --help查询,如果是超长页的花,可以用命令wkhtmltopdf www.zyseo.org myhomepage.pdf -H --outline (-H是添加默认标题,--outline是添加pdf的左侧概要哦!)而且可以批量生成哦,中间用空格隔开,用命令wkhtmltopdf www.zyseo.org www.zyseo.org myhomepage.pdf 快去试试吧!提醒下:如果是转换GB2132编码的网页是会出现乱码的哦!乱码解决方案已经帮您想好了,请看修改生成HTML解决乱码问题其他的自己琢磨琢磨吧!上面都是在命令行下测试,下面给出在C#下的调用方法:
using System.Diagnostics;
/// <summary>
/// HTML生成PDF
/// </summary>
/// <param name="url">地址</param>
/// <param name="path">PDF存放路径</param>
public static bool HtmlToPdf(string url, string path)
{
try
{
if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(path))
return false;
Process p = new Process();
string str = System.Web.HttpContext.Current.Server.MapPath("wkhtmltopdf.exe");
if (!System.IO.File.Exists(str))
return false;
p.StartInfo.FileName = str;
p.StartInfo.Arguments = " \"" + url + "\" " + path;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
System.Threading.Thread.Sleep(500);
return true;
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex);
}
return false;
}
如果大家有更好的生成方案请联系宁波SEO团队官方网站
Tags:
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。