5

我正在尝试实现打印 api,它或多或少有效。我可以使用 api 级别 19 中引入的打印框架将文件发送到 Google Cloud Print 应用程序并打印它。但如果我不必总是手动发送纸张格式会很好,因为它从纸张格式开始索引卡 4x6,这不是我想要的,我想要 A4。如果 GCP 应用程序能记住配置,我可能会接受它,但我必须在每个打印作业中都设置它,这有点令人沮丧。

我发现我应该能够通过设置 PrintAttributes 来归档它。但无论我将它们设置为什么,它始终是纸张格式的索引卡 4x6。如果我在打印对话框中手动将格式设置为 A4,它工作得很好

PrintManager printManager = (PrintManager) ctx.getSystemService(Context.PRINT_SERVICE);

String jobName = "Jobname";

PrintAttributes.Builder builder = new PrintAttributes.Builder();
builder.setMediaSize(PrintAttributes.MediaSize.ISO_A4);
builder.setColorMode(PrintAttributes.COLOR_MODE_MONOCHROME);
PrintAttributes attr = builder.build();

printManager.print(jobName, new PrintDocumentAdapterForFiles(ctx, new File(filePath), jobName), attr );

万一重要:打印机是佳能 Pixma IP 110

4

0 回答 0