Mam szablon PDF z formularzem z włączonymi funkcjami rozszerzonymi. Po wypełnieniu pól formularza przy użyciu tego iTextSharp użytkownik z Acrobat Reader dostaje komunikat o błędzie:Wyłącz rozszerzone funkcje za pomocą iTextSharp
Niniejszy dokument włączoną rozszerzone funkcje w programie Adobe Reader. Dokument został zmieniony od czasu jego utworzenia, a korzystanie z rozszerzonych funkcji nie jest już dostępne . Skontaktuj się z autorem, aby uzyskać oryginalną wersję tego dokumentu .
google trochę, ale wszystkie posty mówić o „umożliwiające” rozszerzone funkcje, jednak chcę pola formularza, aby pozostać niepełnosprawnych i rozszerzone funkcje wyłączony
Oto przykładowy kod, który Używam:
using (var existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
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("Retailer Name"))
form.SetField(fieldKey, retailerName);
}
// “Flatten” the form so it wont be editable/usable anymore
stamper.FormFlattening = true;
stamper.Close();
pdfReader.Close();
}
Może nie powinieneś go zapisywać, ale crea to jest nowa instancja zamiast iTextSharp?W wyniku braku zmian, ponieważ właśnie ponownie utworzyłeś dokument? Nie znam rozszerzonych funkcji PDF ani iTextSharp. Jak wygląda Twój kod związany z korzystaniem z iTextSharp? Obecnie czytam Java API, ale jest cicho ... –
@Mike: Tworzę nową instancję. Zaktualizowałem pytanie, aby wyświetlić kod, którego używam. – Jags