Drucken im Panini Vision X Check-Scanner mit SendPrinterData()C#

Ein Treffpunkt für C#-Programmierer
Guest
 Drucken im Panini Vision X Check-Scanner mit SendPrinterData()

Post by Guest »

Ich habe Folgendes, um das Drucken einer einfachen Textzeile mit dem Vision X Panini Check-Scanner zu ermöglichen:
if (OnLine(DeviceId))
{
...
...

LOGFONT font = new LOGFONT();//struct in default (all to 0)

if (!SendPrinterData(DeviceId, 0, font, "PRINTING TEST", 20, NULL, 0, 0))
{
StringBuilder erStrPrinter = new(200);
if (GetEngineApiErrorString(ref erStrPrinter, 200))
{
SendScannerLog("PRINTER_EXCEPTION: " + erStrPrinter.ToString());
Trace.WriteLine(erStrPrinter.ToString());
}
}

if (!StartFeeding(DeviceId))
{

...
...

und hier ist die Funktionssignatur SendPrinterData() mit der Schriftartstruktur:
[DllImport("VisionAPI.dll", EntryPoint = "?SendPrinterData@@YGHKKUtagLOGFONTA@@PADK1KK@Z", CharSet = CharSet.Unicode)]
public static extern bool SendPrinterData(uint DeviceId, uint Head, LOGFONT lf, string? strToPrint, uint strToPrintOffSet, string? imgPath, uint imgOffSet, uint imgSrcType);

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct LOGFONT
{
public const int LF_FACESIZE = 32;
public int lfHeight;
public int lfWidth;
public int lfEscapement;
public int lfOrientation;
public int lfWeight;
public byte lfItalic;
public byte lfUnderline;
public byte lfStrikeOut;
public byte lfCharSet;
public byte lfOutPrecision;
public byte lfClipPrecision;
public byte lfQuality;
public byte lfPitchAndFamily;

[MarshalAs(UnmanagedType.ByValTStr, SizeConst = LF_FACESIZE)]
public string lfFaceName;
}

Wissenswertes:
  • Die Verwendung der Funktion SendPrinterData() erfolgt gemäß der Dokumentation von Panini VISION X-Unternehmen.
  • Der Rest meiner App funktioniert ordnungsgemäß (eine WPF-App).
  • Es gibt eine Demo-App, die von der Firma Panini VISION X bereitgestellt wird es funktioniert damit.
Was haben Ich habe etwas falsch gemacht?
  • Bei der Ausführung gibt SendPrinterData() true zurück, sodass es normal funktionieren sollte (der Text in der Funktion sollte auf einer Seite gedruckt werden). check), aber hier passiert nichts und es tritt kein Fehler auf.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post