PrinterJob自订纸张问题
时间:2011-11-30
来源:互联网
印表机是点阵式, 有关於自订纸张的问题
不论如何设定 Paper.setsize(width,height)
实际上最后都会 height > width 而且 height有最小值 就算设更小 还是跑回最小值
印出结果
ImageableWidth 410.4 Width 419.52755...
ImageableHeight 325.94458... Height 595.27557...
不论如何设定 Paper.setsize(width,height)
实际上最后都会 height > width 而且 height有最小值 就算设更小 还是跑回最小值
印出结果
ImageableWidth 410.4 Width 419.52755...
ImageableHeight 325.94458... Height 595.27557...
1 |
public class TestPrint {
final static double PAPER_WIDTH = 504; final static double PAPER_HEIGHT = 325.944;
final static String PRINTERNAME = "US_RECEIPT"; //印表机名称
private int PrinterIndex;
private PrintService[] printservice = java.awt.print.PrinterJob.lookupPrintServices(); public static void main(String[] args) {
TestPrint tp = new TestPrint();
tp.print();
}
public void print() {
for (int i=0;i<printservice.length;i++) {
if (printservice[i].getName().equals(PRINTERNAME))
PrinterIndex = i ;
}
PrinterJob pjob = PrinterJob.getPrinterJob();
PageFormat pf = new PageFormat();
Paper pp = new Paper(); pp.setSize(PAPER_WIDTH, PAPER_HEIGHT);
pp.setImageableArea(0, 0, PAPER_WIDTH, PAPER_HEIGHT);
pf.setPaper(pp);
PrintPage p1 = new PrintPage();
try {
pjob.setPrintService(printservice[PrinterIndex]);
} catch (PrinterException ex) {
ex.printStackTrace();
return;
}
pjob.setPrintable(p1,pf);
pjob.setCopies(1);
try {
pjob.print();
}
catch(Exception ex) {
ex.printStackTrace(); System.exit(0);
}
}
class PrintPage implements Printable {
public int print(Graphics g, PageFormat pf, int pageIndex) {
if(pageIndex > 0)
return NO_SUCH_PAGE;
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
g2d.drawString(String.valueOf(pf.getImageableWidth()), 10, 10);
g2d.drawString(String.valueOf(pf.getImageableHeight()), 10, 120);
g2d.drawString(String.valueOf(pf.getWidth()), 130, 20);
g2d.drawString(String.valueOf(pf.getHeight()), 130, 130);
return PAGE_EXISTS;
}
}
}
|
作者: yiaman2003 发布时间: 2011-11-30
yiaman2003 wrote:
印表机是点阵式, 有关於自订纸张的问题
不论如何设定 Paper.setsize(width,height)
实际上最后都会 height > width 而且 height有最小值 就算设更小 还是跑回最小值
印出结果
ImageableWidth 410.4 Width 419.52755...
ImageableHeight 325.94458... Height 595.27557...
paper 的 size 会依照印表机的实际情况来调整,page format 也是
印表机是点阵式, 有关於自订纸张的问题
不论如何设定 Paper.setsize(width,height)
实际上最后都会 height > width 而且 height有最小值 就算设更小 还是跑回最小值
印出结果
ImageableWidth 410.4 Width 419.52755...
ImageableHeight 325.94458... Height 595.27557...
paper 的 size 会依照印表机的实际情况来调整,page format 也是
作者: Duncan 发布时间: 2011-12-01
经过测试后 height可以大於width
但是字体是横的, 请问有无设定可以把字直印 ??
感谢!!!
但是字体是横的, 请问有无设定可以把字直印 ??
感谢!!!
作者: yiaman2003 发布时间: 2011-12-01
yiaman2003 wrote:
经过测试后 height可以大於width
但是字体是横的, 请问有无设定可以把字直印 ??
感谢!!!
请问你使用的印表机所进的纸是直的(height>width)还是横的(height<width)?我想应该是直的(如果纸是连续的,裁切后应该是直的),因为你原来实测出来的 page format 是 height > width
经过测试后 height可以大於width
但是字体是横的, 请问有无设定可以把字直印 ??
感谢!!!
请问你使用的印表机所进的纸是直的(height>width)还是横的(height<width)?我想应该是直的(如果纸是连续的,裁切后应该是直的),因为你原来实测出来的 page format 是 height > width
作者: Duncan 发布时间: 2011-12-01
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28














