Skip to main content
Skip table of contents

TBeDocScanner

TBeDocScanner - Belege einscannen per Codeblock

Die Klasse dient zum einscannen von Dokumenten mit dem Standard Scan-Dialog. Die gescannten Dokumente können anschließend als Datei oder in der Datenbank (in einem Blob-Feld) gespeichert werden.

Verwendung

  • TBeDocScanner-Objekt erstellen
  • die Default-Scan-Einstellungen überschreiben (optional)
  • Scan ausführen
  • Scan(s) abholen bzw. verarbeiten (siehe TBeDocScanItem)

Eigenschaften

EigenschaftBeschreibung

Options.ScanSetting

Hiermit lassen sich die Einstellungen für den Scan manuell setzen.

Source:CName der Quelle. (Weitere VerknüpfungenAvailSources)
Size:NEinstellung der Papiergröße.
Resolution:NAuflösung des Scans in DPI.
Color:NAnzahl verfügbarer Farben für den Scan.
AutoDeSkew:BPapierformat automatisch erkennen.
AutoRotate:BScan automatisch Drehen.
AutoBright:BHelligkeit automatisch anpassen.
AvailSourcesGibt eine Collection mit allen für den Scan verfügbaren Geräten zurück.

StackOfScans

Gibt eine Collection mit allen eingescannten Bildern zurück. Zugriff über CollItem().

SettingID:N

Ermöglicht das Setzen von Einstellungen der Einträge in den Druckerzuweisungen. Nummer entspricht der zweistelligen ID der Einstellungen.

Caption:C

Ermöglicht das Setzen des Dialog-Titels.

AttachFileNames

Gibt eine Collection mit allen Dateinamen der Anhänge zurück. Zugriff über CollItem().

ShowAttachments:B

Ermöglicht das hinzufügen von Anhängen im Scan-Dialog über einen Menüpunkt.

ExecScan

Führt den Scan aus bzw. zeigt den Scan-Dialog an.

ExecPageScan

Startet den Scanvorgang für eine Seite und fügt diese einer eventuell existierenden Scanliste (durch ExecScan) hinzu.

LayoutMode:B

Bestimmt ob die gescannten Dokumente nach der Verarbeitung aus dem Quell-Verzeichnis entfernt werden sollen. (Gilt nicht für Dokumente die über "öffnen" ausgewählt wurden)

Beispiel

CODE
| oDocScanner, nSeitenNr, oSeite |

// 1. Objekt erstellen

oDocScanner := CreateObject( 'TBeDocScanner' ),

// 2. Setzen von optionalen Einstellungen

oDocScanner.Options.Silence := 1, // 0 = BE-Dialog UND Twain-Dialog des Treibers
                                  // 1 = nur BE-Dialog
                                  // 2 = kein Dialog
                                  // 3 = nur Twain-Dialog des Treibers

oDocScanner.Options.ScanMultiple           := False,                      // Kein mehrseitigen Scan zulassen
oDocScanner.Options.ScanSetting.Source     := 'HP PrecisionScan LTX 1.2', // Gerätname setzen
oDocScanner.Options.ScanSetting.Size       := 1,                          // A4 = Format voreinstellen
oDocScanner.Options.ScanSetting.Resolution := 150,                        // Auflösung von 150 dpi verwenden
oDocScanner.Options.ScanSetting.Color      := 1,                          // Farben auf Graustufen voreinstellen

// Beleg-Scansetting laden (Nummer entspricht der Reihenfolge der Einträge in den Druckerzuweisungen)
// Achtung: Das Setzen der ID überschreibt bisher getroffene Einstellungen.
oDocScanner.SettingID := 2,

// 3. Scan ausführen bzw. Dialog anzeigen
oDocScanner.ExecScan,

// 4. Die Scans liegen jetzt in Form einer Collection-Liste vor und können abgeholt werden

// Wurde die Verarbeitung abgebrochen, ist die Liste leer
for nSeitenNr := 1 to CollCount(oDocScanner.StackOfScans) do

   // Beispiel 1: als Datei speichern
   oSeite := CollItem(oDocScanner.StackOfScans, nSeitenNr),
   oSeite.Filename := 'c:\temp\TestSeite' + StrZero(nSeitenNr, 3) + '.jpg',
   if oSeite.IsSaveFormatValid then
      oSeite.AsFile,
   else
      MessageDlg('Ungültiges Format: Scan kann nicht gespeichert werden!'),
   endif,

   // Beispiel 2: in Blob-Feld speichern
   DBAppend(oKdn700),
   oKdn700:BILD := oSeite.AsString,
   DBPost(oKdn700),
next,
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.