Answered (Sumber: milist DOTNET) direct print ke mini printer

  • 01 Desember 2011 2:14
    Moderator
     
     

    salam,

    mau nanya, bagaimana caranya direct print ke mini printer ya dimana driver mini printernya sudah di install di windowsnya tanpa menggunakan OPOS Driver dari vendornya.
    apakah bisa menggunakan fasilitas seperti buat logo,drawer kick dan auto cutter seandainya menggunakan driver bawaan dari vendor tersebut?

    sebagai informasi platform yang saya gunakan :Windows xp/7, vb2005, sql server 2000, winform, mini printer merek Epson (U220,T81V USB)



    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

Semua Balasan

  • 01 Desember 2011 2:15
    Moderator
     
     Jawab

    Jika menggunakan WPF, bisa menggunakan kode ini

     

    Dengan :

    ·         View adalah nama User Control / Windows tempat container yang akan di print

    ·         Dan View.SP adalah nama StackPanel yang akan di print

     

    System.Printing.PrintQueue printer = null;

    if (servername != "")

       printer = new System.Printing.PrintQueue(new System.Printing.PrintServer(servername), printername);

    else

       printer = new System.Printing.PrintQueue(new System.Printing.PrintServer(), printername);

     

    System.Windows.Controls.PrintDialog pd = new System.Windows.Controls.PrintDialog();

     

    View.UpdateLayout();

     

    PrintCapabilities capabilities = pd.PrintQueue.GetPrintCapabilities(pd.PrintTicket);

     

    //get scale of the print wrt to screen of WPF visual

    double scale = Math.Min(capabilities.PageImageableArea.ExtentWidth / View.ActualWidth,

                            capabilities.PageImageableArea.ExtentHeight / View.ActualHeight);

     

    //Transform the Visual to scale

    View.LayoutTransform = new System.Windows.Media.ScaleTransform(scale, scale);

     

    //get the size of the printer page

    System.Windows.Size sz = new System.Windows.Size(capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight);

     

    //update the layout of the visual to the printer page size.

    View.Measure(sz);

    View.Arrange(new System.Windows.Rect(new System.Windows.Point(capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight), sz));

    pd.PrintQueue = printer;

    pd.PrintVisual(View.SP, "");

     

    Dijawab oleh: Andri Mirandi


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.