我试图将我的网站转换为pdf,我的网站用于报告,在一个页面上输入信息,在另一个页面上你通过会话得到它,网站上有图片和css是否重要。
我试图使用itextsharp,但它对我来说太复杂了。
我尝试使用这里的一些例子,但它们都不是我需要的,所以它不起作用。 http://simpledotnetsolutions.wordpress.com/2012/04/08/itextsharp-few-c-examples/
任何人都可以向我解释我需要做什么吗?
我也试过这段代码,但它不起作用,有人告诉我,我需要使用xmlworker,但我并没有真正理解如何(以及它是否会起作用)
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
谢谢
如果有一个简单的解决方案需要花钱,我可以支付费用。答案 0 :(得分:0)
尝试使用Scryber,这是商业用途的付费,但您可以使用免费版本(它会在生成的.pdf文件上添加水印)进行原型设计。
.pdf文件结构和样式可在.xml中配置,因此非常简单灵活。
定义结构的问题
<data:ForEach select="rss/channel" datasource-id="BBCRss" >
<Template>
<pdf:Div style:class="heading" >
<data:If test="string-length(image/url) > 0" >
<Template>
<pdf:Link action="Uri" file="{xpath:image/link}" new-window="true" alt="{xpath:image/title}" >
<Content>
<pdf:Image src="{xpath:image/url}" style:width="{xpath:image/width}" style:padding="10" />
</Content>
</pdf:Link>
</Template>
</data:If>
<pdf:H1 style:class="red-text" text="{xpath:title}"></pdf:H1>
<pdf:Label text="{xpath:description}" /><BR/>
Date: <pdf:Label text="{xpath:lastBuildDate}" />
</pdf:Div>
<pdf:Div style:class="content" >
<data:ForEach select="item" >
<Template>
<pdf:Div style:class="rss-item red-underline" >
<pdf:Div style:class="rss-item-data" >
<pdf:H2 style:class="red-text" text="{xpath:title}" ></pdf:H2>
<pdf:Label text="{xpath:description}" />
</pdf:Div>
</pdf:Div>
</Template>
</data:ForEach>
和风格
<style:Style applied-type="pdf:Div" applied-class="content" >
<style:Columns count="2" alley-width="20pt"/>
<style:Font size="12pt" bold="false" italic="false" />
</style:Style>
Here你会找到示例项目和一些解释。 此外,Scryber比iTextSharp更好地记录。