java设置打印机默认纸张_java 打印设置打印A4 A5纸

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

下面贴出部分代码,用于解决当打印纸张为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);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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)`方法进行打印
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值