java设置打印机默认纸张A4

用java写了一个打印机,遇到打印纸张输出的问题,打印纸张有A4,当设置A4纸张的时候需要横向打印输出

下面贴出部分代码,用于解决当打印纸张为A5纸张时,文件横向打印

DocPrintJob jon = printService.createPrintJob();

// 设置纸张大小,也可以新建MediaSize类来自定义大小

// 文件类型

DocFlavor flavor = DocFlavor.INPUT_STREAM.JPEG;

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

DocAttributeSet das = new HashDocAttributeSet();//打印属性设置

switch (paperSize){

case "A4":

pras.add(MediaSizeName.ISO_A4); //A4默认

das.add(OrientationRequested.PORTRAIT);//(文件的)竖向的;纵向打印格式的

break;

case "A5":

pras.add(MediaSizeName.ISO_A5); //A5横向打印

das.add(OrientationRequested.LANDSCAPE);//(文件的)横向打印格式

break;

default:

pras.add(MediaSizeName.ISO_A4); //A4

das.add(OrientationRequested.PORTRAIT);//(文件的)竖向的;纵向打印格式的

}

Doc doc = new SimpleDoc(swapStream,flavor,das);

jon.print(doc,pras);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java调用打印机进行横向打印A4,可以通过设置纸张大小和打印方向的方式来实现。下面是一个示例代码,演示如何在Java程序中调用打印机进行横向打印A4: ```java import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.PrinterJob; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.MediaSizeName; import javax.print.attribute.standard.OrientationRequested; public class PrintDemo { public static void main(String[] args) { PrinterJob job = PrinterJob.getPrinterJob(); // 设置纸张大小为A4 PageFormat pf = job.defaultPage(); Paper paper = pf.getPaper(); double width = 8.27 * 72.0; double height = 11.69 * 72.0; double margin = 0.1 * 72.0; paper.setSize(width, height); paper.setImageableArea(margin, margin, width - margin * 2, height - margin * 2); pf.setOrientation(PageFormat.LANDSCAPE); pf.setPaper(paper); // 构造打印请求属性集 PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); pras.add(new Copies(1)); // 打印份数 pras.add(OrientationRequested.LANDSCAPE); // 打印方向为横向 pras.add(MediaSizeName.ISO_A4); // 纸张大小为A4 // 设置打印内容 job.setPrintable(new MyPrintable(), pf); try { job.print(pras); // 进行打印 } catch (Exception e) { e.printStackTrace(); } } } // 打印内容 class MyPrintable implements Printable { public int print(Graphics g, PageFormat pf, int pageIndex) { if (pageIndex > 0) { return NO_SUCH_PAGE; } // 打印内容 Graphics2D g2d = (Graphics2D) g; g2d.drawString("Hello World!", 100, 100); return PAGE_EXISTS; } } ``` 在上述代码中,我们首先获取了打印作业,并获取默认的页面格式。然后,我们构造了一个新的纸张,并将其设置横向打印方向和A4大小。接着,我们构造了打印请求属性集,并将打印方向和纸张大小设置横向A4大小。最后,我们设置打印内容,并调用`job.print(pras)`方法进行打印

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值