HTML转PDF(C# itextsharp)
一、 需求:将HTML转PDF打印。Web项目中总是有这样的需求,很是让人苦恼。
二、 分析:如何完成这个工作?
1、 需要解析HTML,然后利用itextsharp绘制pdf文档。解析HTML是一个很难完成的任务,各个浏览器对HTML的解析五花八门就知道这不好解决。这条路不好走,但也是可以完成的,通过webbrowser类可以解析HTML获取各对象的位置,然后绘制到pdf中。方法是可行,其中的复杂度不小。
2、 将HTML保存为图片,然后插入到pdf文档中,这里将介绍这种方法。随之而来的问题:如何将HTML保存为图片呢?
三、 解决办法:
1、 将HTML保存为图片:需要用到webbrower类,将指定的HTML载入webbrower,然后调用其DrawToBitmap方法获取图片。代码如下:
private System.Drawing.Bitmap bitmap;
private string url;
private int w = 760, h = 900;//A4纸张对应的分辨率大概就是760*900
public void setBitmap()
{
using (WebBrowser wb = new WebBrowser())
{
wb.Width = w;
wb.Height = h;
wb.ScrollBarsEnabled = false;
wb.Navigate(url);
//确保页面被解析完全
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
bitmap = new System.Drawing.Bitmap(w, h);
wb.DrawToBitmap(bitmap, new
相关文档:
1.wkhtmltopdf http://code.google.com/p/wkhtmltopdf/downloads/list
如linu下载wkhtmltopdf-0.9.6-static-i386.tar.bz2
2. tar -jxvf wkhtmltopdf-0.9.6-static-i386.tar.bz2
3。重命名 mv wkhtmltopdf-i386 wkhtmltopdf
4.测试生成pdf ./wkhtm ......
通过前面介绍的HTML标签,我们已经可以初步完成一个不错的网页了,但我们做的网页就像一份报纸一样,唯一比报纸特殊的一点,就是我们可以在不同的页面之间通过超链接跳转,但即便如此,我们依然只能让别人阅读网页,而无法通过网页进行交互;
要能够通过网页进行交互,则必须具备两个前提条件,信息输入组件和信息通信方式 ......
定义和用法
<area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。
area 元素总是嵌套在 <map> 标签中。
注释:<img> 标签中的 usemap 属性与 map 元素 name 属性相关联,创建图像与映射之间的联系。
实例
带有可点击区域的图像映射:
<img src="planets.jpg" border=" ......
想在flex中真实的显示html,但是texteara,lable,text中只支持部分html标签
<a>、<b>、<br>、<font>、<img>如果用img又存在显示自动换行的问题。只有采用嵌入html的方法来解决。
1.flexdemo1
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe ......
<html>
<head>
<mce:style type="text/css"><!--
td
{
width:50;
height:50;
text-align:center;
vertical-align: center;
}
table
{
vertical-align: bottom;
}
legend
{
text-align:center;
}
fieldset
{
width:300;
......