-1

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

非常感谢

4

1 回答 1

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 海报

于 2012-07-12T10:38:13.010 回答