2010-03-10 14 views
8

Ich verwende FDF, um eine PDF-Vorlage zu füllen. Auf meiner PDF-Vorlage habe ich ein Kontrollkästchen und Radio-Feld namens c1 bzw. r1. Welche Syntax sollte ich in meiner FDF-Datei verwenden, um das Feld c1 und r1 zu prüfen oder auszuwählen?FDF - wie man eine Checkbox prüft?

Ich habe versucht, Dinge wie

<</T(c1)/V(1)>> 
<</T(c1)/V(checked)>> 
<</T(c1)/V(on)>> 
<</T(c1)/V(true)>> 

Aber keiner von ihnen arbeiten.

Antwort

17

Ich fand die Antwort. Um zu überprüfen, verwenden Sie

<</T(c1)/V(Yes)>> 

auszuschalten, verwenden

<</T(c1)/V(Off)>> 

ich die Antwort auf dieser Seite: http://www.4dcodeexchange.net/fdfformbuilder.htm

Auszug

Ankreuzfelder in 2 Geschmacksrichtungen gruppiert und individuell. Die einzelnen Kontrollkästchen haben normalerweise den Wert "Ja" oder "Aus". Gruppierte Ankreuzfelder sind unterschiedlich, da jedes Kontrollkästchen seinen eigenen Wert hat. Wenn Sie Probleme mit Ihrem FDF haben, schauen Sie hier zuerst .

+6

"Ja" und "Aus" Hah! – newslacker

+1

Was ist mit FileNotFound? –

+0

Es sei hier darauf hingewiesen, dass ‚Ja‘ ist nur eine empfohlene Methode (PDF-Spezifikation, Seite 648) eine Checkbox und nicht ein todsicherer eine ticken. Obwohl es wahrscheinlich für jedes mit Acrobat erstellte Formular funktioniert. – maryisdead

-1

Ja Von JAVA können wir auch Wert auf „Ja“ aktivieren Sie die Checkbox im PDF oder FDF Dank passieren .... Rachit Shah

9

Nur eine Präzision zu machen. Es scheint, dass Sie zum Aktivieren eines einzelnen Kontrollkästchens den Exportwert verwenden müssen, den Sie beim Erstellen Ihrer Box in Acrobat festgelegt haben. Dieser Wert ist in der Tat, die standardmäßig auf "Ja"

+1

Dies sollte die akzeptierte Antwort sein! –

+0

+1000 hat meinen Tag komplett gerettet. Ich denke, das ist die einzige gute Antwort im Internet. – Xatenev

0

Für mich funktioniert:

<</T(c1)/V(0)>> 

für aufgegebenes Werte und

<</T(c1)/V(Off)>> 

Werte voreingestellt.

6

Der Wert zur Prüfung der Box ist oft "Ja" und "Aus" - Dies ist jedoch nur der Standardwert Wert und es kann von "Ja" auf fast jeden Wert geändert werden (dies wird gesteuert durch den Exportwert des Dokuments, wie von anderen hingewiesen).

Wenn Sie versuchen, prozedural den on/checked Statuswert zu erhalten (was Sie sicher setzen müssen, um dieses Kontrollkästchen als aktiviert zu markieren), ist es in der Erscheinungen "AP" Wörterbuch des Feldes enthalten. Dieses Wörterbuch sollte ein weiteres Wörterbuch "N" enthalten, und jeder Schlüssel ist einer von zwei Werten für das Kontrollkästchen. Der erste Schlüssel ist der ungeprüfte Wert (normalerweise "Aus") und der zweite Schlüssel ist der überprüfte Wert (normalerweise "Ja"). Wie Sie das tun, hängt vollständig von der API ab.

Wenn Sie pdftk über die Befehlszeile verwenden, können Sie mit dem Befehl dump_data_fields sehen, was die erwarteten Werte sind: z.

pdftk document.pdf dump_data_fields 

Wird so etwas wie dieses zeigen:

--- 
FieldType: Button 
FieldName: basform 
FieldFlags: 0 
FieldValue: No 
FieldJustification: Left 
FieldStateOption: Off 
FieldStateOption: basic_forms   <---- Checked value expected by FDF 

Hier können wir sehen, dass das geprüfte Zustand tatsächlich erwartet „basic_forms“ und nicht „Ja“. Ich glaube, dass der andere Zustand immer "Aus" ist, aber das kann von der Sprache abhängen, die dein Programm benutzt (der voreingestellte "Ja" -Wert tut es sicherlich).

+0

Diese Antwort behandelt die Frage zu FDF nicht direkt, aber sie ist die informativste. Es wird erläutert, wo die korrekten Werte für die aktivierten und deaktivierten Status in der PDF-Datei gespeichert sind. Dies ist hilfreich, wenn Sie einen eigenen Parser schreiben möchten. Aber ich muss eine kleine Korrektur vornehmen: Der erste Eintrag im Wörterbuch/AP/N ist nicht immer '/ Off '- in meinem PDF ist es der zweite Eintrag. – StanE

Verwandte Themen