【发布时间】:2010-12-13 15:17:18
【问题描述】:
我正在使用 iTextSharp 5.0.5 创建动态 PDF (asp.net c#),但在创建新页面时插入了额外的空间时遇到了问题。第一页看起来不错,但在任何其他页面上,额外的空间都会出现在顶部。
我制作了一个迷你示例,它为列表中的每篇文章插入一个带有徽标和标题的新页面。如果我只插入徽标或只插入标题,它可以正常工作,但如果我尝试插入两者,则会有来自某处的额外空间。有人知道我做错了什么吗?
public static void CreatePDF(List<Item> Articles)
{
Document document = new Document(PageSize.A4, 35, 35, 35, 35);
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);
document.Open();
for (int i = 0; i < Articles.Count; i++)
{
if (i > 0)
{
document.NewPage();
}
Image logo = Image.GetInstance(@"C:\logo.gif");
document.Add(logo);
Paragraph title = new Paragraph("test title", new Font(Font.FontFamily.HELVETICA, 20, Font.NORMAL, CMYKColor.BLACK));
document.Add(title);
}
document.Close();
SendPDFResponse(memoryStream, "myfile.pdf");
}
谢谢,
安妮
【问题讨论】:
-
使用这个库一定很难......我过去也有类似的需求 - 开始考虑 iTextSharp,最终使用了商业的 HTML 到 PDF 工具(因为它更快而且更容易,而且很多都取得了很好的效果)。
标签: c# .net pdf itextsharp