0

发送文档时,假设 TIFF 图像到打印机,我们可以发送带有图像的元数据,例如纸张大小“法律、照片等”。打印机能够使用此信息来选择与此纸张尺寸匹配的纸盘。

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

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

4

1 回答 1

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];
        }
    }    
}
于 2013-09-27T15:18:33.457 回答