TBeDocScanItem
TBeDocScanItem
Objekt, dass eine durch den TBeDocScanner gescannte Seite representiert.
Verwendung
Zugriff über CollItem(TBeDocScanner.StackOfScans, \[Seitennummer\]) (siehe Beispiel)
Eigenschaften
Eigenschaft | Beschreibung |
---|---|
FileName:C | Name inclusive Verzeichnispfad unter dem die Seite gespeichert ist oder gespeichert werden soll. |
AsString:C | Wandelt eine Seite in eine alphanumerische Zeichenfolge um. z. B. um einen Scan in einem Memo-Feld zu speichern. |
AsFile:C |
|
IsSaveFormatValid:L | Gibt zurück ob die derzeit gesetzte Dateiendung des FileName gültig ist. |
ValidSaveFormats:A | Gibt ein Array mit allen, für das aktuelle Bild, verfügbaren Dateiendungen zurück. |
CbSelected:L | Gibt zurück ob eine Seite ausgewählt wurde. |
Beispiel
| 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)
oDocScanner.SettingID := 2,
// 3. Scan ausführen bzw. Dialog anzeigen
oDocScanner.ExecScan,
// Ab hier werden die Einzelnen gescannten Seiten durchlaufen
for nSeitenNr := 1 to CollCount(oDocScanner.StackOfScans) do // Zugriff auf die Seiten über die StackOfScans-Property
oSeite := CollItem(oDocScanner.StackOfScans, nSeitenNr), // Laden einer einzelnen Seite
writeln('Dateipfad + Name der Seite', oSeite.FileName), // Ausgabe des Dateinamens unter dem die Seite derzeit gespeichert ist
writeln('Seite als String ersten 50 Zeichen', Left(oSeite.AsString, 50)), // Ausgabe der ersten 50 Zeichen des Bildes wenn es als String convertiert wurde
writeln('Dateiendung gültig', oSeite.IsSaveFormatValid), // Prüfung ob das derzeit gesetzte Dateiformat gültig ist
writeln('Gültige Dateiformate', ArrToStr(oSeite.ValidSaveFormats)), // Ausgabe aller für diese Seite möglichen Dateiformate
writeln('Die Seite ist vom Benutzer ausgewählt', oSeite.CbSelected), // Ausgabe ob die aktuelle Seite vom Benutzer im Dialog ausgewählt wurde
oSeite.FileName := StrTran(oSeite.FileName, '.png', '.jpeg'), // Wandeln eines .png zu einem .jpeg über den DateiNamen
writeln('Neuer Dateipfad + Name der Seite', oSeite.FileName), // Ausgabe des neuen Dateinamen
writeln('Neue Dateiendung gültig', oSeite.IsSaveFormatValid), // Prüfung ob jpeg für diese Seite ein gültiges Dateiformat darstellt
writeln(oSeite.AsFile), // Speichert das Bild als neue Datei unter dem gesetzten FileName (Pfad + Name)
oSeite.AsFile := 'C:\Temp\Testpic.png', // Überschreibt das aktuelle TBeDocScanItem mit dem Bild aus dem angegebenen Dateipfad
writeln('Dateipfad + Name der soeben geladenen Datei', oSeite.FileName),
next,