我需要从.aspx页面创建一个pdf。在.aspx页面中,用户将在textbox和gridview中输入这么多值。它还有一些不同部分的选项卡。我确实用iTextSharp来创建简单的pdf。但是在这里我需要从页面获取值并需要阅读选项卡控件。那么使用iTextSharp是否可行,或者是否有任何开源dll可用于将.aspx转换为pdf ..
给我一些想法?
谢谢..
答案 0 :(得分:3)
通过使用ITextsharp库,可以使用HTMLWorker来完成:
首先创建字符串构建器;
private StringBuilder sb;
然后从文本框值中添加pdf标题:
sb.Append("<p style=\"text-align: center;font-size:" + fontSize + "px;font-weight:" + (bold ? "bold" : "normal") + ";\">" + txtHeading + "</p>");
然后从textbox值添加主题为pdf:
sb.Append("<table><tr valign=\"top\"><td>Subj:</td><td style=\"font-size:" + fontSize + "px;font-weight:bold;text-decoration:underline;\">" + txtSubject.text + "</td></tr></table><br />");
然后将文本框值中的段落添加为:
sb.Append("<p style=\"text-align: left;font-size:" + fontSize + "px;font-weight:" + (bold ? "bold" : "normal") + ";\">" + txtParagraph + "</p><br/>");
表创建时采用string [] array
中的值sb.Append("<table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\" border=\"0.5\"><thead><tr align=\"center\" valign=\"top\">");
foreach (string str in StringArray)
{
sb.Append("<th><strong>" + str + "</strong></th>");
}
sb.Append("</tr></thead>");
依此类推。您可以从aspx页面的文本框值创建pdf。
答案 1 :(得分:0)
Itext Sharp相当容易。关于标签,我不知道它可能会起作用,因为它适用于分页,我的意思是它转换分页中的所有内容,在单个pdf中 Click Here For Example