在C#中生成PDF海报

时间:2012-07-12 09:35:18

标签: c# pdf poster

我需要根据模板自动生成PDF格式的海报。此PDF必须包含通过Web应用程序提供的自定义文本和图像。我知道你可以从字段添加到PDF然后用iTextSharp(我正在使用C#)填充它们,但这些具有扎实的背景,所以不能叠加到海报上。我试图在OpenOffice中创建一个透明的表单控件,但似乎不可能。任何人都可以建议一种满足这一要求的方法吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

这可以使用ITextsharp来完成。它是一个非常强大的PDF库。将背景保持为pdf并将其加载到流中。然后你可以写上加载的pdf并返回海报。

 private PdfContentByte _pcb; 
Document document = new Document();

FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
PdfReader Mypdfreader= new PdfReader(fileStream);
 PdfTemplate background = writer.GetImportedPage(Mypdfreader, 1);
 document.NewPage();
_pcb = writer.DirectContentUnder;
_pcb.AddTemplate(background, 0, 0);
 _pcb = writer.DirectContent;
_pcb.BeginText();
         _pcb.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 10);
 _pcb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, text, 10, 5, 0);//10,5 are x and y coordinates resp.
 _pcb.EndText();

 writer.Flush();
fileStream.Close();

或参考样本 PDF poster