0
我有下面的代码来设置我的领域之一的背景颜色,但由于某种原因,我无法控制背景的透明度。有人可以看看它,让我知道我做错了什么。谢谢。itextsharp设置背景不透明不工作
using (var newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
// Open existing PDF
var pdfReader = new PdfReader(existingFileStream);
// PdfStamper, which will create
var stamper = new PdfStamper(pdfReader, newFileStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
foreach (string fieldKey in fieldKeys)
{
if (fieldKey.Equals("Title"))
{
form.SetFieldProperty(fieldKey, "bgcolor", new BaseColor(System.Drawing.Color.FromArgb(20,225,160,0)),null);
form.SetField(fieldKey, "Test");
}
else
{
form.SetField(fieldKey, "REPLACED!");
}
}
stamper.FormFlattening = true;
stamper.Close();
pdfReader.Close();
}
你说得对。这是不支持的,它将来也不会被支持(你试图做的事不应该工作)。您必须使用一种解决方法:获取字段的坐标并使用“PdfContentByte”添加透明背景。 –
即使源代码定义了alpha值? https://github.com/itext/itextsharp/blob/master/src/core/iTextSharp/text/BaseColor.cs – nishantvodoo
PDF中的透明度与其他上下文中的透明度非常不同。 –