开始操作打印元数据

时间:2013-09-27 14:53:55

标签: c# .net printing xps

发送文档时,我们可以将TIFF图像发送到打印机,我们可以发送带有图像的元数据,例如纸张尺寸“Legal,Photo etc”。打印机可以使用此信息选择与此纸张尺寸匹配的纸盘。

我有一个生成tif文档的程序,并使用PrintDocument生成打印作业。此过程以编程方式发生(无UI)。在将作业发送到打印机之前,是否可以以编程方式更改tif图像的元数据?

E.G。我想将图像的纸张尺寸更改为“Legal”。这样我可以告诉打印机使用哪个托盘。我已经探索过从TIF生成XPS文档。然后返回XPS API来设置属性。但是,这种解决方案感觉有点沉重。我希望对这种编程有更多经验的人指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

PrintDocument

中提供了纸张尺寸选项
private void SetPaperSize()
{
    int legalPaperIndex = 5;//See all types: http://msdn.microsoft.com/en-us/library/system.drawing.printing.papersize.rawkind.aspx
    for (int i = 0; i < printDocument.PrinterSettings.PaperSizes.Count - 1; i++)
    {
        if (printDocument.PrinterSettings.PaperSizes[i].RawKind == legalPaperIndex)
        {
            printDocument.DefaultPageSettings.PaperSize = printDocument.PrinterSettings.PaperSizes[i];
        }
    }    
}