0
Ich habe den folgenden Code, um Hintergrundfarbe zu einem meiner Felder zu setzen, aber aus irgendeinem Grund kann ich nicht die Transparenz des Hintergrunds kontrollieren. Kann mir bitte jemand einen Blick darauf werfen und mich wissen lassen, was ich falsch mache. Vielen Dank.itextsharp Einstellung Hintergrund Opazität funktioniert nicht
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();
}
Du hast Recht. Das wird nicht unterstützt und es wird auch in Zukunft nicht unterstützt (was du versuchst zu tun, sollte nicht funktionieren). Sie müssen einen Workaround verwenden: Holen Sie sich die Koordinaten des Feldes und fügen Sie den transparenten Hintergrund mit 'PdfContentByte' hinzu. –
Auch wenn der Quellcode Alpha-Wert definiert? https://github.com/itext/itextsharp/blob/master/src/core/iTextSharp/text/BaseColor.cs – nishantvodoo
Transparenz in PDF unterscheidet sich sehr von Transparenz in anderen Kontexten. –