java打印:文字,图片混打问题

letousky123 2010-12-11 01:34:03
请大家帮忙呀,要么只能打印图片,要么只能打印文字,不能一块打印,我的想法是上面打印文字,下面打印图片,做为一次打印事件.

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;

import javax.swing.ImageIcon;


public class PrintText implements Printable {

private static Object getResource;

public int print(Graphics graphics, PageFormat pf, int pageIndex) throws PrinterException {

String r1 = " aaaa";
String r2 = "bbbb";
String r3 = " cccc";

Component component = null;

// 转换成Graphics2D
Graphics2D graphics2D = (Graphics2D) graphics;

// 设置打印颜色为黑色
graphics2D.setColor(Color.BLACK);

// 打印起点坐标
double x = pf.getImageableX();
double y = pf.getImageableY();

switch (pageIndex) {
case 0:
Font font = new Font("新宋体", Font.PLAIN, 9);
graphics2D.setFont(font); // 设置字体

graphics2D.drawString(r1, (float) 10, 30); // 第一排
graphics2D.drawString(r2, (float) 10, 40); // 第二排
graphics2D.drawString(r3, (float) 10, 50); // 第三排

Image image = new ImageIcon(PrintText.class.getResource("/out.jpg")).getImage();
graphics2D.drawImage(image, 200, 200, component);

return PAGE_EXISTS;
default:
return NO_SUCH_PAGE;
}
}
}


public class Print {

public static void executeText() {

Book book = new Book();

PageFormat pageFormat = new PageFormat();
pageFormat.setOrientation(PageFormat.PORTRAIT);
Paper pager = new Paper();
pager.setSize(1024, 768); pager.setImageableArea(10, 10, 800, 600); pageFormat.setPaper(pager);
book.append(new PrintText(), pageFormat); PrinterJob job = PrinterJob.getPrinterJob(); job.setPageable(book);

try {
job.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}


public static void main(String[] args) {
executeText();
}
}
...全文
200 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyiz 2010-12-12
  • 打赏
  • 举报
回复
楼主可以试一下用一个BufferedImage先把你想要的图片和文字都画进去
然后再把这个BufferedImage打印出来
逍遥K杰 2010-12-11
  • 打赏
  • 举报
回复
这是打印到哪里去啊
letousky123 2010-12-11
  • 打赏
  • 举报
回复
自个顶一下,弄了一天了.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧