2

我正在开发这个Java 应用程序,我正在尝试在索引卡上打印单独的带标题的故事板,即每张卡一个图像。

我曾设想我可以通过在标准 4" x 6" 索引卡上以横向模式打印来做到这一点,但我的打印机,这是一台相当新的 HP Photosmart 5515,无法应付它。

卡片只能纵向装入打印机,否则说固定架太短。当您选择纵向模式时,它可以打印,但它有点违反直觉,并且它浪费了故事板图像上方和下方的空间,而故事板图像只占用了可用空间的三分之一。

当您告诉机器以横向模式打印时,它仍然以纵向模式打印,但边距设置完全荒谬。

protected void setPageFormat(PrinterJob job) {

    PageFormat defaultPageFormat = job.defaultPage();
    Paper paper = defaultPageFormat.getPaper();
    paper.setImageableArea(0.0D, 0.0D, paper.getWidth(), paper.getHeight());


    defaultPageFormat.setPaper(paper);

    // sets imageable size to maximum allowable margins
    pageFormat = job.validatePage(defaultPageFormat);
}

我使用 PrinterJob 方法validatePage来确保边距正常,并且正是这个例程返回了微​​小的边距设置。

当我使用 A4 纸而不是索引卡时,页边距完全没问题。当我选择横向索引卡并查看 pageFormat 对象时,它告诉我它是纵向的,即使我选择了横向,即使给出的宽度比高度长。

任何建议,不胜感激

4

0 回答 0