첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

■ StartDocPrinter API 함수를 선언하는 방법을 보여준다.

 

▶ 예제 코드 (C#)

using System;
using System.Runtime.InteropServices;

#region 프린터 문서 인쇄 시작하기 - StartDocPrinter(printerHandle, level, documentInformation)

/// <summary>
/// 프린터 문서 인쇄 시작하기
/// </summary>
/// <param name="printerHandle">프린터 핸들</param>
/// <param name="level">레벨</param>
/// <param name="documentInformation">문서 정보</param>
/// <returns>처리 결과</returns>
[
    DllImport
    (
        "winspool",
        EntryPoint = "StartDocPrinterA",
        SetLastError = true,
        CharSet = CharSet.Ansi,
        ExactSpelling = true,
        CallingConvention = CallingConvention.StdCall
    )
]
private static extern bool StartDocPrinter(IntPtr printerHandle, int level, [In, MarshalAs(UnmanagedType.LPStruct)] DOCINFOA documentInformation);

#endregion

/// <summary>
/// 문서 정보 A
/// </summary>
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public class DOCINFOA
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region Field

    /// <summary>
    /// 문서명
    /// </summary>
    [MarshalAs(UnmanagedType.LPStr)]
    public string DocumentName;

    /// <summary>
    /// 출력 파일
    /// </summary>
    [MarshalAs(UnmanagedType.LPStr)]
    public string OutputFile;

    /// <summary>
    /// 데이터 타입
    /// </summary>
    [MarshalAs(UnmanagedType.LPStr)]
    public string DataType;

    #endregion
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요