【发布时间】:2014-11-30 20:14:32
【问题描述】:
tl;博士: 基本上我只是想知道设计 PDF 文档的最佳/最简单方法是什么?使用 iTextSharp 和代码(即不加载外部文件)实际设计整个 PDF 文档是否合法?我希望最终结果看起来类似于具有各种颜色、边框、图像和所有内容的网页。 或者你必须依赖其他文件,如 .doc、.html 文件来实现一个好的设计?
最初我以为我会使用 HTML 标记来生成 PDF,但是看到在样式/CSS 方面的支持似乎有多糟糕,所以我正在重新考虑整个情况。
这让我想到,既然我可以直接在 PDF 中进行操作,而不必依赖各种没有实际作用的文件,为什么还要使用 HTML 标记或 .doc(x) 文件来创建 PDF 设计?目的。
我开始看这个指南(它是几个部分) http://www.c-sharpcorner.com/uploadfile/f2e803/basic-pdf-creation-using-itextsharp-part-i/
指南的一部分:
using (MemoryStream ms = new MemoryStream())
{
Document document = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(document, ms);
document.Open();
document.Add(new Paragraph("Hello World"));
document.Close();
writer.Close();
Response.ContentType = "pdf/application";
Response.AddHeader("content-disposition",
"attachment;filename=First PDF document.pdf");
Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
}
并且掌握了生成 PDF 并进行一些设计的基本技巧。
但是是否有可能以这种方式生成和设计大型 PDF 文档,是否有任何更合适的指南或类似的所有各种命令来生成文本、图像、边框和所有内容,因为我对使用代码生成 PDF 没有真正的线索.
【问题讨论】:
-
是的,放弃使用 iTextsharp 从 HTML 生成 PDF 文件的整个想法,它目前只是行不通。它不正确支持样式/CSS 样式。
-
XML Worker 支持 XHTML + CSS,所以 ken2k 的注释是不正确的。但是:HTML 从来都不是定义布局的格式。如果你有一个简单的设计,HTML 可以提供帮助,但如果你真的需要复杂的布局,你就不会走得太远。
标签: c# .net pdf pdf-generation itextsharp