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