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