我网站的访问者可以点击“打印预览”按钮。 Javascript代码打开一个Window并使用document.writelin()将创建一个显示动态内容的html页面(基本上,用户正在查看报告。这里的代码片段向您展示我的意思:
printerWindow = window.open("");
printerWindow.document.writeln("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>");
printerWindow.document.writeln("<html>");
printerWindow.document.writeln("<head>");
printerWindow.document.writeln("<title>Report Title</title>");
printerWindow.document.writeln("<link href='./css/schedule_print_preview.css' type='text/css' rel='stylesheet'>");
printerWindow.document.writeln("<link href='./css/schedule_printer.css' rel='stylesheet' type='text/css' media='print'>");
printerWindow.document.writeln("<script type='text/javascript'>");
printerWindow.document.writeln("function printcalc() {");
printerWindow.document.writeln("window.print();");
printerWindow.document.writeln("};");
printerWindow.document.writeln("<\/script>");
printerWindow.document.writeln("</head>");
printerWindow.document.writeln("<body>");
printerWindow.document.writeln("<div class='btns'>");
{...}
我想在此页面上添加“下载PDF”链接,以便访问者可以将报告保存为PDF。
ABCpdf 8.1可以实现吗? (我正在评估它。)我遇到的问题是找出最接近我需要做什么的例子。有什么建议? TIA。
答案 0 :(得分:4)
我认为你应该能够。 c#中有一些设置会有所帮助。
您需要设置
doc.HtmlOptions.UseScript = true;
这将启用javascript运行。
可能值得设置超时以给它更多时间来完成加载
doc.HtmlOptions.Timeout = 10000;
并且我总是使用gecko渲染引擎获得更好的结果
doc.HtmlOptions.Engine = EngineType.Gecko;