Ho un modello PDF con un modulo con le funzionalità estese abilitate. Dopo aver compilato i campi di questo modulo utilizzando iTextSharp, un utente con acrobat reader riceve il messaggio di errore:Disabilitare le funzionalità estese con iTextSharp
Questo documento abilitato esteso funzioni di Adobe Reader. Il documento ha stato modificato da quando è stato creato e l'uso di funzionalità estese non è più disponibile . Si prega di contattare l'autore per la versione originale di questo documento .
I googled un po ', ma tutti i post parlano di "abilitazione" caratteristiche estese, tuttavia, voglio i campi del modulo di rimanere disabili ed estese funzionalità spenti
Ecco un esempio di codice che sto usando:
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();
}
Forse non dovresti salvarlo, ma crea ne fai una nuova istanza con iTextSharp?Non sono state apportate modifiche, perché hai appena ricreato il documento? Non ho familiarità con le funzionalità estese PDF o iTextSharp. Che aspetto ha il tuo codice relativo all'utilizzo di iTextSharp? Attualmente sto leggendo l'API Java, ma è piuttosto grande ... –
@Mike: Sto creando una nuova istanza. Ho aggiornato la domanda per mostrare il codice che sto usando. – Jags