打印时如何切换卡片的方向?

How to switch the orientation of the Card when printing?

我正在使用Zebra Technologies - Card ID Printing – Zebra Card SDK for ZXP Series 3 Printers – C# sample code。我无法将正在打印的卡片的 方向 设置为 纵向 。我在 Printer Preferences 中将打印机的方向设置为纵向,然后单击 Print Test Page,测试卡以纵向正确打印出来。但是,当我从上面 link 中的示例应用程序代码打印卡片时,它只会以 Landscape 方向打印卡片。我什至深入研究了代码,甚至 usessets 卡片的方向都没有。我唯一看到的是 ZBRUtil.cs 它有一个名为 Orientationenum,在整个解决方案中从未设置或使用过。

有什么建议吗?我在想,也许我真的需要看看 ZBRGraphics.dll / ZBRPrinter.dll 的下一个(如果它能让我打开它们的话)

You can't.

通过 - Zebra 支持人员

这对我有用(但我没有使用 zebra-class 打印机 - 我从例如 Crystal 报告中打印)。线索是:定义纸张大小,它将起作用。

            cryRpt.PrintOptions.PaperSource = PaperSource.Auto;
            cryRpt.PrintOptions.PaperSize = PaperSize.DefaultPaperSize;
            cryRpt.PrintOptions.PaperOrientation = PaperOrientation.Landscape;

我找到了一个不太明显的解决方案。

首先,您像 OP 一样将 打印机首选项 设置为纵向。然后,您需要在“Printing Defaults...”中设置相同的设置,它会与您刚刚设置的不同。

测试卡使用的是打印机首选项,但是基于代码的打印使用的是默认设置。

这里是打印默认值: