勇芳软件工作室.汉化:  Printing > GDI Print API > Microsoft XPS Document Converter (MXDC) >

MXDC_ESCAPE Function (Vista)

Previous pageReturn to chapter overviewNext page

描述

 

MXDC_ESCAPE打印机转义功能使应用程序可以通过Microsoft XPS文档转换器(MXDC)以XML Paper Specificaton(XPS)格式将文档写入文件或打印机。

 

要执行此操作,请使用以下参数调用ExtEscape功能。

 

C++ 语法

 

int ExtEscape(

hdc,

MXDC_ESCAPE,

cbInput,

lpszInData,

cbOutput,

lpszOutData

);

 

PowerBASIC 语法

 

lResult = ExtEscape ( _

hdc, _

%MXDC_ESCAPE, _

cbInput, _

lpszInData, _

cbOutput, _

lpszOutData _

)

 

参数

 

hdc

 

[in]处理打印机设备上下文。

 

nEscape

 

[in]指定lpszInData参数指向的数据的大小(以字节为单位)。使用MXDC_ESCAPE进行此操作。

 

cbInput

 

[in]指定lpszInData参数指向的数据的字节数。

 

lpszInData

 

[in]指向包含输入数据的缓冲区的指针。这将永远是以下结构之一。

 

·MxdcEscapeHeader
·MxdcPrintTicketEscape
·MxdcS0PagePassthroughEscape
·MxdcS0PageResourceEscape

 

这些结构中的每一个将具有以下操作码之一,指定MXDC应该做什么。有关这些代码的详细说明,请参阅主题MxdcEscapeHeader.

 

MXDCOP_GET_FILENAME

 

返回在ExtEscape函数的lpszOutData参数中,输出文件的完整路径为零终止字符串或该字符串的大小。

 

MXDCOP_PRINTTICKET_FIXED_DOC_SEQ

 

将打印票据与XPS固定文档序列相关联。

 

MXDCOP_PRINTTICKET_FIXED_DOC

 

将打印票据与XPS文档相关联。

 

MXDCOP_PRINTTICKET_FIXED_PAGE

 

将打印票据与XPS页面相关联。

 

MXDCOP_SET_S0PAGE

 

将当前页面的XPS标记发送到输出。

 

MXDCOP_SET_S0PAGE_RESOURCE

 

将页面上的资源(如图像或字体)发送到输出。

 

MXDCOP_SET_XPSPASSTHRU_MODE

 

将MXDC设置为通过状态,使应用程序可以将XPS直接写入输出文件,而无需MXDC进行任何处理。整个文档或甚至文档顺序都可以这样写。

 

cbOutput

 

[in]指定lpszOutData参数指向的数据的大小(以字节为单位)。

 

lpszOutData

 

[out]指向包含输出数据的缓冲区的指针。

 

返回值

 

如果函数成功,返回值大于零。如果函数失败或不支持,返回值小于或等于零。

 

备注

 

此转义由MXDC和XpsDrv支持,而不是由GDI支持。

 

在使用MXDC_ESCAPE呼叫ExtEscape之前,请使用GETTECHNOLOGY转义来确定驱动程序是否为MXDC。如果是MXDC,该函数将返回零终止字符串“http://schemas.microsoft.com/xps/2005/06”。确保将cbInput参数设置得足够大以容纳此字符串。

 

下表显示了XPS文件中将要写入的各种类型的对象。

 

目的

输出文件中的位置

固定页

/Documents/1/Pages/Esc%d.fpage

缩略图

/Documents/1/Metadata

打印机票

/Documents/1/Metadata

字形

/Documents/1/Resources/Fonts

图片

/Documents/1/Resources/Images

 

引用文件 #INCLUDE Once

 

Mxdc.inc