using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing.Imaging;
using System.Drawing.Printing;
using System.Drawing.Drawing2D;
using System.Drawing.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace FeaTon.WaterImage
{
/// <summary>
/// 員工IC卡打印
/// 塗聚文 20121225
///
/// </summary>
public partial class IdCardForm : Form
{
/// <summary>
/// 卡底圖
/// </summary>
string path = string.Empty;
/// <summary>
/// 卡相片
/// </summary>
string Photopath = string.Empty;
/// <summary>
/// 設置字體
/// </summary>
string setFont = "宋体";
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]//应用API函数
private static extern bool BitBlt(
IntPtr hdcDest, // 目标设备的句柄
int nXDest, // 目标对象的左上角的X坐标
int nYDest, // 目标对象的左上角的X坐标
int nWidth, // 目标对象的矩形的宽度
int nHeight, // 目标对象的矩形的长度
IntPtr hdcSrc, // 源设备的句柄
int nXSrc, // 源对象的左上角的X坐标
int nYSrc, // 源对象的左上角的X坐标
System.Int32 dwRop // 光栅的操作值
);
/// <summary>
///
/// </summary>
public IdCardForm()
{
InitializeComponent();
}
/// <summary>
/// 查找安裝的打印機
/// </summary>
private void PopulateInstalledPrintersCombo()
{
System.Data.DataTable PrintersList = new System.Data.DataTable();
PrintersList.Columns.Add("id", typeof(int));
PrintersList.Columns.Add("InstalledPrinters", typeof(string));
// Add list of installed printers found to the combo box.
// The pkInstalledPrinters string will be used to provide the display string.
String pkInstalledPrinters;
for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
{
pkInstalledPrinters = PrinterSettings.InstalledPrinters[i];
//comboInstalledPrinters.Items.Add(pkInstalledPrinters);
PrintersList.Rows.Add(i, pkInstalledPrinters);
}
comboInstalledPrinters.DataSource = PrintersList;
comboInstalledPrinters.DisplayMember = "InstalledPrinters";
comboInstalledPrinters.ValueMember = "id";
comboInstalledPrinters.AutoCompleteMode = AutoCompleteMode.Suggest;
comboInstalledPrinters.AutoCompleteSource = AutoCompleteSource.ListItems;
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void IdCardForm_Load(object sender, EventArgs e)
{
//尋找本地安裝打印機
PopulateInstalledPrintersCombo();
//
//尋找本地安裝字體
InstalledFontCollection fontCollection = new InstalledFontCollection();
foreach (FontFamily fontFamily in fontCollection.Families)
{
this.comboBoxFont.Items.Add(fontFamily.Name);
Csharp: print Card using HiTi CS310
最新推荐文章于 2023-12-02 16:18:46 发布
这段代码演示了如何使用C#编程实现员工ID卡的打印,包括查找安装的打印机,设置字体,处理图像,并通过Windows图片和传真查看器进行打印。代码还涉及到了图像处理和打印机操作的相关API调用。
摘要由CSDN通过智能技术生成