「java打印设置」java的打印

博主:adminadmin 2023-03-22 13:45:09 631

今天给各位分享java打印设置的知识,其中也会对java的打印进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java b/s 打印,我想在打印的时候调整数据位置该怎么做

由于纳税人配置的打印机型号各不相同,不同打印机之间的打印位置会有偏差。此功能用于调整打印位置,以适应不同种类的打印机。

1、点击“系统管理” 中的“打印模板调整”

2、选择要调整的发票模板(模板的调整将影响到所有该类发票的打印)

3、 根据您实际打印中,发票数据的偏差情况调整各个打印数据的输出位置。

点击”调整打印模版”中的“上,下,左,右”四个蓝色箭头可以进行调整,

右边红色按钮可以切换调整模式是全体调整还是单个调整,

当使用单个调整模式时,需要选择要调整的文本框,

右下角“移动像素单位”可以调整移到一次的长度,

调整完成之后,可以点击“打印测试”来测试一下是否调整正确,

如果调整不正确,可以点击“恢复缺省值”,来恢复到默认状态,

打印模版调整好之后,需要点击右边“保存修改”按钮。

java怎么打印Hello Word!

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

System.out.println("pageIndex=" + pageIndex);

Component c = null;

//print string

String str = "

Hello Word!

";

//转换成Graphics2D

Graphics2D g2 = (Graphics2D) gra;

//设置打印颜色为黑色

g2.setColor(Color.black);

//打印起点坐标

double x = pf.getImageableX();

double y = pf.getImageableY();

switch (pageIndex) {

case 0:

//设置打印字体(字体名称、样式和点大小)(字体名称可以是物理或者逻辑名称)

//Java平台所定义的五种字体系列:Serif、SansSerif、Monospaced、Dialog 和 DialogInput

Font font = new Font("新宋体", Font.PLAIN, 9);

g2.setFont(font);//设置字体

//BasicStroke bs_3=new BasicStroke(0.5f);

float[] dash1 = {2.0f};

//设置打印线的属性。

//1.线宽 2、3、不知道,4、空白的宽度,5、虚线的宽度,6、偏移量

g2.setStroke(new BasicStroke(0.5f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 2.0f, dash1, 0.0f));

//g2.setStroke(bs_3);//设置线宽

float heigth = font.getSize2D();//字体高度

System.out.println("x=" + x);

// -1- 用Graphics2D直接输出

//首字符的基线(右下部)位于用户空间中的 (x, y) 位置处

//g2.drawLine(10,10,200,300);

Image src = Toolkit.getDefaultToolkit().getImage("F:\\workspace\\QQ.png");

g2.drawImage(src, (int) x, (int) y, c);

int img_Height = src.getHeight(c);

int img_width = src.getWidth(c);

//System.out.println("img_Height="+img_Height+"img_width="+img_width) ;

g2.drawString(str, (float) x, (float) y + 1 * heigth + img_Height);

g2.drawLine((int) x, (int) (y + 1 * heigth + img_Height + 10), (int) x + 200, (int) (y + 1 * heigth + img_Height + 10));

g2.drawImage(src, (int) x, (int) (y + 1 * heigth + img_Height + 11), c);

return PAGE_EXISTS;

default:

return NO_SUCH_PAGE;

}

}

java打印每行之间没有空格

1你可以到工具选项里面去设置,设置显示的项目,至于打印有没有,你可以编辑完文档后,点击 打印预览 ,显示即为所得根据你自己;将文字间距调整一下试试 还有从网上下载的文件都带有很多格式 如果没有图片的话,就先复制到文本文档中,再复制到word,这样所有格式就去掉了。

2、文件页面设置纸张打印选项打印文档的附加信息背景色和图像,把那个弄一下,看看可以吗反正那次我打印不出来,把那个设置了一下;打开需要编辑的文档 在指针所在位置想加空格 按下空格键后发现,空格没加成,后面的字却被删除了 这是只要按下键盘上的insert键,即可解决问题 5这是;你按CTEL+A选择全部文档,在工具栏上点清除格式,调整到需要的格式就行了,注意下载的东西好多都是网络格式,复制到Java 后格式还保留着,所以要清除;可能不支持那种字体吧,你换一个字体看看,或者换到你同事电脑看看

java打印设置

1、需要一个打印服务对象。这可通过三种方式实现:

在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口

或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;

在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。

2、需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob

(jdk1.1提供的,现在已经很少用了)调用print或printAll方法开始打印工作;

也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,

然后通过print方法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,

然后调用print方法开始一个打印工作。

设置打印属性

使用如下方法可以获得PrintJob的实例用于控制打印操作: Toolkit.getPrintJob(Frame f, String jobtitle, Properties prop) 那么对于打印属性的设置可以通过对prop的属性设置来实现,打印属性包括: awt.print.destination: 可以是"printer"或"file" awt.print.printer: 打印机名 awt.print.fileName: 打印文件名 awt.print.numCopies: 打印份数 awt.print.options: 打印命令的打印选项 awt.print.orientation: 打印方向,可以是"portrait"或"landscape" awt.print.paperSize: 纸张大小,可以是"letter","legal","executive"或"a4" 具体的大小设置你自己在调试一下吧

java如何实现打印功能?

Print.java--打印内容定义

[code]

import java.awt.*;

import java.awt.event.*;

import java.awt.print.*;

import java.awt.image.*;

import javax.swing.*;

import javax.swing.event.*;

import javax.swing.border.*;

import javax.swing.event.*;

import java.util.*;

import java.io.*;

public class Print implements Printable{

int m_wPage;

int m_hPage;

int m_orientation;

Printable m_target;

int maxNumPage=1;

String title="数据表格打印";

Font titleFont=new Font("黑体",Font.BOLD,14);

boolean hasTail=true;

int tailAlign=0;

int headAlign=0;

int topSpace=0;

int leftSpace=0;

int yStart=0;

int yEnd=0;

int xStart=topSpace;

int xEnd=0;

int x=0,y=0;

String strTemp="打印内容";

public void doPrint(){

try{

m_orientation=PageFormat.PORTRAIT;

//设置打印对象,默认纸张

PrinterJob prnJob=PrinterJob.getPrinterJob();

PageFormat pageFormat=prnJob.defaultPage();

pageFormat.setOrientation(m_orientation);

m_wPage=(int)(pageFormat.getWidth());

m_hPage=(int)(pageFormat.getHeight());

//将待打印的窗体根据默认纸张设置传入打印对象

prnJob.setPrintable(this,pageFormat);

if(!prnJob.printDialog()) return;

prnJob.print();

}catch(PrinterException ex){

ex.printStackTrace();

System.err.println("打印错误:"+ex.toString());

}

}

/**

* 初始化打印参数

*/

public void initPrintParameter()

{

}

/**

*构造打印内容,以送打印机打印

*/

public int print(Graphics pg,PageFormat pageFormat,

int pageIndex) throws PrinterException{

//初始化打印参数

initPrintParameter();

//将画布设置为页面大小

pg.translate((int)pageFormat.getImageableX(),

(int)pageFormat.getImageableY());

int wPage=0;

int hPage=0;

//根据打印机页面设置调整画布大小

if(pageFormat.getOrientation()==pageFormat.PORTRAIT){

wPage=(int)pageFormat.getImageableWidth();

hPage=(int)pageFormat.getImageableHeight();

}

else{

wPage=(int)pageFormat.getImageableWidth();

wPage+=wPage/2;

hPage=(int)pageFormat.getImageableHeight();

pg.setClip(0,0,wPage,hPage);

}

wPage=wPage-2*leftSpace;

hPage=hPage-2*topSpace;

xStart=leftSpace;

xEnd=wPage-2;

//为画布设置颜色和字体

int y=topSpace;

pg.setFont(titleFont);

pg.setColor(Color.black);

//画标题,并使其居中

Font fn=pg.getFont();

FontMetrics fm=pg.getFontMetrics();

y+=fm.getAscent();

alignText(title,pg,y,xStart,xEnd,headAlign);

y+=30;

x=leftSpace+2;

Font headerFont=new Font("宋体",Font.BOLD,14);

pg.setFont(headerFont);

fm=pg.getFontMetrics();

int h=fm.getAscent();

yStart=y-1;

y+=h;

pg.setFont(headerFont);

fm=pg.getFontMetrics();

int header=y;

h=fm.getHeight();

//计算行高,每页行数,总行数和指定页码的起始行、结束行

int rowH=Math.max(h,10);

int tailH=rowH+30;

int rowPerPage=0;

int leftPix=0;

if(hasTail){

rowPerPage=(hPage-header-tailH)/rowH;

leftPix=(hPage-header-tailH)%rowH;

yEnd=hPage-leftPix-tailH+2;

}

else{

rowPerPage=(hPage-header)/rowH;

leftPix=(hPage-header)%rowH;

yEnd=hPage-leftPix+2;

}

pg.drawString(strTemp,x,y);

//画表格边框

pg.drawLine(xStart,yStart,xStart,yEnd);

pg.drawLine(xStart,yStart,xEnd,yStart);

pg.drawLine(xEnd,yStart,xEnd,yEnd);

pg.drawLine(xStart,yEnd,xEnd,yEnd);

//打印页码

if(hasTail){

int pageNumber=pageIndex+1;

String s="第"+pageNumber+"页";

alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign);

}

System.gc();

return PAGE_EXISTS;

}

/**

* 文字排列,坐标在y处,显示范围(start-end)

* 0表示居中显示,1表示左对齐,2表示右对齐

*/

private void alignText(String s,Graphics pg,int y,int start,

int end,int mode){

Font fn=pg.getFont();

FontMetrics fm=pg.getFontMetrics();

int wString=fm.stringWidth(s);

int x=start;

switch(mode)

{

case 0:

if((end-start-wString)0) x=start+(end-start-wString)/2;

break;

case 1:

break;

case 2:

if((end-start-wString)0) x=start+(end-start-wString);

break;

}

pg.drawString(s,x,y);

}

public static void main(String[] args){

Print p=new Print();

p.doPrint();

}

}

[code]

运行方法:

javac -d . Print.java

java Print

自己运行一下

java怎么实现打印机打印

接口 PrintService 是 DocPrintJob 的工厂。PrintService 描述了打印机的功能,并可查询它来了解打印机支持的属性

1 package com.tj.print; 2  3 import java.io.File; 4 import java.io.FileInputStream; 5  6 import javax.print.Doc; 7 import javax.print.DocFlavor; 8 import javax.print.DocPrintJob; 9 import javax.print.PrintService;10 import javax.print.PrintServiceLookup;11 import javax.print.ServiceUI;12 import javax.print.SimpleDoc;13 import javax.print.attribute.DocAttributeSet;14 import javax.print.attribute.HashDocAttributeSet;15 import javax.print.attribute.HashPrintRequestAttributeSet;16 import javax.swing.JFileChooser;17 18 public class PrintDemo1 {19     public static void main(String[] args) {20         JFileChooser fileChooser = new JFileChooser(); // 创建打印作业21         int state = fileChooser.showOpenDialog(null);22         if (state == fileChooser.APPROVE_OPTION) {23             File file = fileChooser.getSelectedFile(); // 获取选择的文件24             // 构建打印请求属性集25             HashPrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();26             // 设置打印格式,因为未确定类型,所以选择autosense27             DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;28             // 查找所有的可用的打印服务29             PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);30             // 定位默认的打印服务31             PrintService defaultService = PrintServiceLookup32                     .lookupDefaultPrintService();33             // 显示打印对话框34             PrintService service = ServiceUI.printDialog(null, 200, 200,35                     printService, defaultService, flavor, pras);36             if (service != null) {37                 try {38                     DocPrintJob job = service.createPrintJob(); // 创建打印作业39                     FileInputStream fis = new FileInputStream(file); // 构造待打印的文件流40                     DocAttributeSet das = new HashDocAttributeSet();41                     Doc doc = new SimpleDoc(fis, flavor, das);42                     job.print(doc, pras);43                 } catch (Exception e) {44                     e.printStackTrace();45                 }46             }47         }48     }49 }

关于java打印设置和java的打印的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。