Page 1 of 1

OMR Code auf Adobe Form

PostPosted: Mon Apr 22, 2013 2:44 pm
by Pelin1208
Hallo,

ich benötige auf einem Adobe-Form (Entgeltnachweis) eine OMR-Codierung für unsere Kuvertiermaschine. Muss ich die Logik selber mit kleinen Kästchen programmieren, oder gibt es bessere Möglichkeiten?

Im einfachsten Fall sind es zwei Striche an wechselnden Positionen die der Maschine sagen, wann sie einen Brief zumachen soll. In der Komfortstufe läuft ein Binärcode aus weiteren vier Strichen mit, der immer von 1 bis 32 hochzählt und sicherstellt, dass keine Seite "verschluckt" wird.

Wäre toll, wenn jemand ein paar Hinweise für die Umsetzung geben könnte, ich bin recht neu im Thema Adobe Designer.

Danke
donny

Gelöst: OMR Code auf Adobe Form

PostPosted: Wed Apr 24, 2013 1:37 pm
by Pelin1208
Ich habe das jetzt wie folgt selber gelöst:

Eine kleine einspaltige Tabelle "TabOMR" am Linken Rand der Masterseite eingefügt. Die darin enthaltenen Textfelder mit schwarzem Hintergrund und weißem Rand so definiert, dass sie passende Striche für den OMR-Leser ergeben.
Dann per Script alle Zeilen der Tabelle auf "hidden" setzen und dann gezielt abhängig vom Seitenzähler wieder sichtbar schalten:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. if (xfa.layout.page(this) == xfa.layout.pageCount())
  2.    {TabOMR-Zeile1.presence="visible";
  3.     TabOMR-Zeile2.presence="visible";}  
  4.    {TabOMR-Zeile1.presence="visible";
  5.    TabOMR-Zeile3.presence="visible";}
  6.  
GeSHi ©


Die Sequenzkontrolle könnte man hier analog programmieren, die benötige ich aber derzeit nicht.

Gruß
donny

Re: OMR Code auf Adobe Form

PostPosted: Thu May 07, 2015 12:55 pm
by Levke869
Hallo,

ich habe ihren Beitrag gelesen, der schon einige Tage alt ist. Wir sind gerade bei den selben Problem, das wir das Abrechnungsformular auf HRForms umgestellt haben und unsere Kuvertiermaschine nur OMR Codes lesen kann.
Funktioniert die Umsetzung der OMR-Codes auf ihrem Formular? Haben sie auch Abfragen eingebaut, ob auch die richtige Anzahl von Seiten pro Umschlag eingetütet werden?
Können sie uns hier detaillierter Informationen für ihre Umsetzung zukommen lassen?

Vielen Dank!

Re: OMR Code auf Adobe Form

PostPosted: Wed Sep 30, 2015 6:39 pm
by Amina4654
Hallo,

wir steuern unsere OMR-Codes auch auf diese Art. Und zwar sowohl das Kuvertier-Signal wie auch den Zähler für die Sequenzkontrolle und ein Paritäts-Bit. Unser Code (nicht JavaScript sondern FormCalc) sieht damit so aus:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. var maxPagesPerPackage = 3
  2.  
  3. currentPageCount = $.parent.index + 1 ; Für Zähler pro Kuvert: Pro Dokument bei 1 anfangen zu zählen
  4. overallPageCount = $record.G_TOTAL_PAGECOUNT.value +  $.parent.index ; Pro Dokument bei 0 anfangen zu zählen
  5. pagesInDocument  = $layout.pageCount()
  6.  
  7. if ( Mod(overallPageCount,2)    >= 1) then OMRBit0 = 1 else OMRBit0 = 0 endif
  8. if ( Mod(overallPageCount/2, 2) >= 1) then OMRBit1 = 1 else OMRBit1 = 0 endif
  9. if ( Mod(overallPageCount/4, 2) >= 1) then OMRBit2 = 1 else OMRBit2 = 0 endif
  10.  
  11. if ((currentPageCount == pagesInDocument) or Mod (currentPageCount,maxPagesPerPackage) == 0) then
  12.   OMRPackage = 1
  13.   OMRPackage = 0
  14.  
  15. // Paritätsbit: Gesamtzahl aller Striche muss gerade sein.
  16. OMRParity = Mod (OMRBit0 + OMRBit1 + OMRBit2 + OMRPackage + 1, 2) ; +1 wegen Start-Markierung
  17.  
  18. //****************************
  19. if (OMRPackage) then LinieKuv.presence    = "visible"    else LinieKuv.presence    = "invisible" endif
  20. if (OMRBit2)    then LinieBit2.presence   = "visible"    else LinieBit2.presence   = "invisible" endif
  21. if (OMRBit1)    then LinieBit1.presence   = "visible"    else LinieBit1.presence   = "invisible" endif
  22. if (OMRBit0)    then LinieBit0.presence   = "visible"    else LinieBit0.presence   = "invisible" endif
  23. if (OMRParity)  then LinieParity.presence = "visible"    else LinieParity.presence = "invisible" endif
  24.  
GeSHi ©


Allzu kompliziert sieht die Lösung eigentlich nicht aus, aber ich habe seinerzeit auch eine ganze Weile gebraucht, bis ich die richtigen Felder für die Seitenzähler (pro Dokument und insgesamt) zusammen hatte. Das Feld G_TOTAL_PAGECOUNT habe ich der Datenstruktur des Formulars hinzugefügt.