在线打印java源代码 java开发打印机

谁有java打印的源代码

//参考下吧

为昌宁等地区用户提供了全套网页设计制作服务,及昌宁网站建设行业解决方案。主营业务为成都网站建设、成都网站制作、昌宁网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

import java.awt.*;

import java.awt.event.*;

import java.awt.font.*;

import java.awt.geom.*;

import java.awt.print.*;

import java.util.*;

import javax.print.*;

import javax.print.attribute.*;

import javax.swing.*;

/**

This program demonstrates how to print 2D graphics

*/

public class PrintTest

{

public static void main(String[] args)

{

JFrame frame = new PrintTestFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);

}

}

/**

This frame shows a panel with 2D graphics and buttons

to print the graphics and to set up the page format.

*/

class PrintTestFrame extends JFrame

{

public PrintTestFrame()

{

setTitle("PrintTest");

setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

canvas = new PrintPanel();

add(canvas, BorderLayout.CENTER);

attributes = new HashPrintRequestAttributeSet();

JPanel buttonPanel = new JPanel();

JButton printButton = new JButton("Print");

buttonPanel.add(printButton);

printButton.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent event)

{

try

{

PrinterJob job = PrinterJob.getPrinterJob();

job.setPrintable(canvas);

if (job.printDialog(attributes))

job.print(attributes);

}

catch (PrinterException e)

{

JOptionPane.showMessageDialog(PrintTestFrame.this, e);

}

}

});

JButton pageSetupButton = new JButton("Page setup");

buttonPanel.add(pageSetupButton);

pageSetupButton.addActionListener(new

ActionListener()

{

public void actionPerformed(ActionEvent event)

{

PrinterJob job = PrinterJob.getPrinterJob();

job.pageDialog(attributes);

}

});

add(buttonPanel, BorderLayout.NORTH);

}

private PrintPanel canvas;

private PrintRequestAttributeSet attributes;

private static final int DEFAULT_WIDTH = 300;

private static final int DEFAULT_HEIGHT = 300;

}

/**

This panel generates a 2D graphics image for screen display

and printing.

*/

class PrintPanel extends JPanel implements Printable

{

public void paintComponent(Graphics g)

{

super.paintComponent(g);

Graphics2D g2 = (Graphics2D) g;

drawPage(g2);

}

public int print(Graphics g, PageFormat pf, int page)

throws PrinterException

{

if (page = 1) return Printable.NO_SUCH_PAGE;

Graphics2D g2 = (Graphics2D) g;

g2.translate(pf.getImageableX(), pf.getImageableY());

g2.draw(new Rectangle2D.Double(0, 0, pf.getImageableWidth(), pf.getImageableHeight()));

drawPage(g2);

return Printable.PAGE_EXISTS;

}

/**

This method draws the page both on the screen and the

printer graphics context.

@param g2 the graphics context

*/

public void drawPage(Graphics2D g2)

{

FontRenderContext context = g2.getFontRenderContext();

Font f = new Font("Serif", Font.PLAIN, 72);

GeneralPath clipShape = new GeneralPath();

TextLayout layout = new TextLayout("Hello", f, context);

AffineTransform transform = AffineTransform.getTranslateInstance(0, 72);

Shape outline = layout.getOutline(transform);

clipShape.append(outline, false);

layout = new TextLayout("World", f, context);

transform = AffineTransform.getTranslateInstance(0, 144);

outline = layout.getOutline(transform);

clipShape.append(outline, false);

g2.draw(clipShape);

g2.clip(clipShape);

final int NLINES =50;

Point2D p = new Point2D.Double(0, 0);

for (int i = 0; i NLINES; i++)

{

double x = (2 * getWidth() * i) / NLINES;

double y = (2 * getHeight() * (NLINES - 1 - i))

/ NLINES;

Point2D q = new Point2D.Double(x, y);

g2.draw(new Line2D.Double(p, q));

}

}

}

用java实现打印功能 怎么写 求大神求源码

PrintService[] services = PrinterJob.lookupPrintServices();//查找系统中所有的可用打印服务

PrintService service = ServiceUI.printDialog(null, 500, 500, services, services[0], null, new HashPrintRequestAttributeSet());//创建一个默认的打印机选择对话框

DocPrintJob job = service.createPrintJob();//创建一个打印任务

Doc doc = new SimpleDoc(new FileInputStream(new File("D:\\image\\MM.jpg")), DocFlavor.INPUT_STREAM.JPEG, null);//创建一个打印的文档

job.print(doc, null);//打印

这是jdk提供的打印接口,你也可以找找其它的第三方类库,jdk提供打印接口功能一般般

求java实现票据套打印的源代码?

票据套打,这个大部分商业报表就可以实现。现在主流的商业报表多采用底图描绘,绝对定位的方式完成套打表样的绘制,用户可将要套打的票据扫描进来作为背景图,用报表设计器进行数据的位置摆放,可以精确定位数据的位置。你可以按你的要求试试,一般还是要自己操作一下容易记住,毛泽东说过的,实践出真知嘛!


分享文章:在线打印java源代码 java开发打印机
文章网址:http://cdiso.cn/article/dodjjse.html

其他资讯