Bagikan melalui


MXDC_ESCAPE fungsi

Fungsi escape printer MXDC_ESCAPE memungkinkan aplikasi untuk menulis dokumen ke file atau ke printer dalam format SPESIFIKASI Kertas XML (XPS) dengan cara Microsoft XPS Document Converter (MXDC).

Untuk melakukan operasi ini, panggil fungsi ExtEscape dengan parameter berikut.

Sintaks

int MXDC_ESCAPE(
    hdc,
    cbInput,
    lpszInData,
    cbOutput,
    lpszOutData
);

Parameter

Hdc

Handel ke konteks perangkat printer.

cbInput

Ukuran, dalam byte, dari data yang ditujukkan oleh parameter lpszInData .

lpszInData

Penunjuk ke buffer yang berisi data input, yang selalu disimpan dalam salah satu struktur berikut.

**MxdcEscapeHeader**
**MxdcPrintTicketEscape**
**MxdcS0PagePassthroughEscape**
**MxdcS0PageResourceEscape**

Masing-masing struktur ini memiliki anggota opcode yang menentukan apa yang seharusnya dilakukan MXDC. Lihat MxdcEscapeHeader untuk keterangan terperinci tentang kode-kode ini.

Kode operasi (opcode) Tindakan
MXDCOP_GET_FILENAME
Mengatur parameter lpszOutData dari fungsi ExtEscape ke, baik jalur lengkap file output sebagai string yang dihentikan nol atau ukuran string tersebut.
MXDCOP_PRINTTICKET_FIXED_DOC_SEQ
Mengaitkan tiket cetak dengan urutan dokumen tetap XPS.
MXDCOP_PRINTTICKET_FIXED_DOC
Mengaitkan tiket cetak dengan dokumen XPS.
MXDCOP_PRINTTICKET_FIXED_PAGE
Mengaitkan tiket cetak dengan halaman XPS.
MXDCOP_SET_S0PAGE
Mengirim markup XPS dari halaman saat ini ke output.
MXDCOP_SET_S0PAGE_RESOURCE
Mengirim sumber daya di halaman, seperti gambar atau font, ke output.
MXDCOP_SET_XPSPASSTHRU_MODE
Menempatkan MXDC ke dalam status pass through, memungkinkan aplikasi untuk menulis XPS langsung ke file output tanpa pemrosesan apa pun oleh MXDC. Seluruh dokumen atau bahkan urutan dokumen dapat ditulis dengan cara ini.

cbOutput

Ukuran, dalam byte, dari data yang dirujuk oleh parameter lpszOutData .

lpszOutData

Penunjuk ke buffer yang berisi data output.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan lebih besar dari nol. Jika fungsi gagal atau tidak didukung, nilai yang dikembalikan kurang dari atau sama dengan nol.

Keterangan

Escape ini didukung oleh MXDC dan XPSDrv, tetapi tidak oleh GDI.

Untuk menentukan apakah driver printer adalah MXDC, panggil ExtEscape dengan escape GETTECHNOLOGY . Jika driver adalah MXDC, ExtEscape akan mengembalikan string yang dihentikan nol, "http://schemas.microsoft.com/xps/2005/06". Pastikan buffer yang dirujuk oleh parameter lpszOutData cukup besar untuk menahan string ini.

Untuk menentukan apakah pengandar pencetak adalah pengandar Penulis Dokumen Microsoft XPS dalam kotak Windows, konfirmasikan bahwa pengandar pencetak adalah MXDC, lalu tentukan apakah nama pengandar pencetak adalah "Penulis Dokumen Microsoft XPS".

Untuk mendapatkan nama pengandar pencetak, gunakan salah satu teknik berikut.

Panggil GetPrinterDriver dengan nilai parameter Level diatur ke 1. Nama pengandar pencetak dikembalikan dalam anggota pName dari struktur DRIVER_INFO_1 .
atau
Panggil GetPrinter dengan nilai parameter Tingkat yang diatur ke 2. Nama pengandar printer dikembalikan dalam anggota pDriverName dari struktur PRINTER_INFO_2 .

Tabel berikut menunjukkan tempat untuk menemukan berbagai objek dalam file XPS berbagai jenis objek akan ditulis.

Object Lokasi dalam file output
Halaman Tetap /Documents/1/Pages/Esc%d.fpage
Gambar mini /Documents/1/Metadata
Cetak Tiket /Documents/1/Metadata
Font /Documents/1/Resources/Fonts
Gambar /Documents/1/Resources/Images

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Mxdc.h

Lihat juga

Pencetakan

Fungsi Escape Printer

ExtEscape