Je remplis les données pour un PDF remplissant à l'aide d'ITEXTSTHARP. Il y a n nombre de cases à cocher dans le formulaire PDF. J'ai défini la valeur pour les cases à cocher à l'aide de "oui" ou "non". Cela fonctionne bien. Mais certaines des cases à cocher ne fonctionnent pas de cette manière; Au lieu de cela, j'ai besoin d'utiliser 1 ou 0 pour le faire fonctionner. Alors, quelqu'un peut-il m'aider quel est le moyen courant de vérifier / décocher les cases à cocher en PDF à l'aide d'ITEXTSTHARP? p>
Merci d'avance, P>
Snowwhite P>
7 Réponses :
Vous pouvez trouver de cette manière: espère que cette aide p> p> p>
Il n'y a pas de "manière courante". Vous devez connaître les valeurs de chèque / décochez les valeurs afin de les modifier. P>
Il y a une question similaire que j'ai répondu où j'ai montré comment trouver ces valeurs ... Ah! P>
Obtenez la valeur d'exportation d'une case à cocher Utilisation de ITEXTSHARP P>
Ouvrez le PDF choisi et le convertir.
fields.SetField("Check Box1", checkboxstates[1])
J'ai dû changer starper.getacrofields (); code> à
starper.acrofields (); code> mais cela fonctionne bien.
Cela devrait être la réponse acceptée car les champs peuvent avoir plusieurs états et tout ce qui est supérieur à l'état par défaut (Index 0) sera vérifié.
HMM, sur mon PDF, une seule case à cocher, définir la valeur de champ vers une chaîne vide l'a effacé. L'un des états que getapparcestates code> est retourné était ce dont j'avais besoin, cependant.
C'était utile, mais j'ai un petit quibble: la dernière ligne de la réponse doit commencer par "Form.Setfield" au lieu de "champs.setfield" en fonction du nom de la variable créée précédemment dans la réponse.
pdfformfields.setfield ("formesfieldchkbox", "oui"); pdfformfields.setfield ("FormfieldCHKBOX", "Non"); P>
cela devrait faire le travail. P>
Je trouve que je peux définir une valeur d'exportation de la commande Cochez la case dans le fichier PDF à l'aide d'Adobe Acrobat,
Lorsque la valeur d'exportation est définie comme "anytext", je peux cocher la case à cocher à l'aide du code suivant:
J'ai fait comme ça
Cela ne fonctionne que dans des circonstances spéciales. En général, il faut déterminer les noms d'État comme dans Réponse de Meir Snyder .
Dans cette valeur d'exportation est très important.
String pathin = @"D:\Research And Development\ITextSharpPdf\Data\\ACR_Form_Ver_11.pdf"; String pathout = @"D:\Research And Development\ITextSharpPdf\Data\ACR_Form_Ver_11_out.pdf"; PdfReader reader = new PdfReader(pathin);// formFile); using (PdfStamper stamper = new PdfStamper(reader, new FileStream(pathout, FileMode.Create))) { var formFields = stamper.AcroFields; //formFields.SetField(<fieldname>, <exportvalue>,<true/false>); formFields.SetField("pdfQ1No", "No",true); formFields.SetField("pdfAppNo", "234234"); stamper.FormFlattening = true; stamper.Close(); }