问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 调用打印机API无法打印的问题,请问找到解决方案了吗?

发布网友 发布时间:2022-04-24 11:19

我来回答

4个回答

热心网友 时间:2023-10-11 00:27

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.Toolkit;

import java.awt.print.Book;

import java.awt.print.PageFormat;

import java.awt.print.Paper;

import java.awt.print.Printable;

import java.awt.print.PrinterException;

import java.awt.print.PrinterJob;

public class PrintTest4 implements Printable{

/**

* @param Graphic指明打印的图形环境

* @param PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点)

* @param pageIndex指明页号

*/

@Override

public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)

throws PrinterException {

System.out.println(">>>>>>>>>>>>>>>>>>>>>>指定页号:"+pageIndex);

Component c = null;

//print string

String str = "中华民族是勤劳、勇敢和富有智慧的伟大民族。";

//转换成Graphics2D

Graphics2D g2 = (Graphics2D) graphics;

//设置打印颜色为黑色

g2.setColor(Color.black);

//打印起点坐标

double x = pageFormat.getImageableX();

double y = pageFormat.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("D:/背景图片/yesorno.jpg");

//D:\\EclipseWorkSpace3.1\\Kfc-wuxi\\WebRoot\\image\\KFC.jpg

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;

}

}

public static void main(String[] args) {

//通俗理解就是书、文档

Book book = new Book();

//设置成竖打

PageFormat pf = new PageFormat();

pf.setOrientation(PageFormat.PORTRAIT);

//通过Paper设置页面的空白边距和可打印区域。必须与实际打印纸张大小相符。

Paper p = new Paper();

p.setSize(590,840);//纸张大小 

p.setImageableArea(10,10, 590,840);//A4(595 X 842)设置打印区域,其实0,0应该是72,72,因为A4纸的默认X,Y边距是72

pf.setPaper(p);

//把 PageFormat 和 Printable 添加到书中,组成一个页面

book.append(new PrintTest4(), pf);

//获取打印服务对象

PrinterJob job = PrinterJob.getPrinterJob();

//设置打印类

job.setPageable(book);

try {

//可以用printDialog显示打印对话框,在用户确认后打印;也可以直接打印

boolean a=job.printDialog();

if(a){

job.print();

}

} catch (PrinterException e) {

e.printStackTrace();

}

}

}

热心网友 时间:2023-10-11 00:27

所谓“双机共享”,也就是两台电脑共享一套上网设备,共用一个账号上网。它需要一个Modem(调制解调器,俗称“猫”)、两块网卡及相应网线,把硬件连接好后,再安装好网卡的驱动程序。在共享设置前应确保连接Modem的电脑(称为主机,与之相连的电脑称为客户机)能连接因特网,并能实现浏览、聊天等功能。

提示:对于双绞线网线制作,需要专用的压线钳,因此可在购买时要求老板把网线做好,并告之为对等网线。网线要进行交叉制作,要对第1根线与第3根线交换、第2根线与第6根线交换,即按网线颜色排列顺序为:一端,白橙/橙/白绿/蓝/白蓝/绿/白棕/棕;另一端,白绿/绿/白橙/蓝/白蓝/橙/白棕/棕。

下面来进行共享设置。首先,检查主机是否安装好“Internet连接共享”。双击“我的电脑→控制面板→添加删除程序”,在“添加删除程序属性”窗中单击“Windows安装程序”标签,再选择“Internet工具”组件,单击下端的“详细资料”按钮,在“Internet连接共享”前有没有一个小勾勾选呢?如果没有勾选,则在前小方框中单击鼠标左键,然后单击“确定”,在下一个窗中再单击“确定”,此时会弹出“Internet连接向导”窗,单击“下一步”,选择好你的拨号适配器(Modem)后再击“下一步”,选择好你的网卡后进入“下一步”,在出现的“插入磁盘”窗中单击“取消”完成设置。

接下来,在桌面“Internet Explorer”图标上单击右键,选择“属性→连接→共享”,然后勾选“启用Internet连接共享”,最后单击“确定”完成。

提示:在Windows 2000/XP中,可在桌面“网上邻居”图标上单击鼠标右键,从弹出菜单中选择“属性”进入网络和拨号连接窗,在其中连接图标上单击右键,再选择“属性”打开连接属性窗,单击“共享”标签,在其下勾选“启用此连接的Internet连接共享”;主机配置好共享后会自动把你的IP地址设置成192.168.0.1,子网掩码255.255.255.0。

然后,在客户机上添加以下协议:TCP/IP、NetBEUI协议。再将TCP/IP中的IP地址指定成192.168.0.2,子网掩码都为255.255.255.0,网关和DNS都设置成主机的IP,即192.168.0.1,重新启动就可以了。在客户机上利用“Ping命令”主机地址进行检测。以下多机共享设置及检测方法与此相同。
★多机共享
多机进行共享常采用Hub连接,连接方式如图6。在连线过程中,请注意连接Modem的机子网线不要插在Hub的“Uplink”端口,同时这里制作的网线不需交叉。

热心网友 时间:2023-10-11 00:28

楼主大哥解决没?能否告知一下解决方法啊

热心网友 时间:2023-10-11 00:28

楼主,说说详细的情况、和出现的问题
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 如何用Java调用打印机打印docx,PDF文档 java通过IP 连接无驱打印机 求教,Java中如何调用打印机打印指定路径的文档 怎么做一个word模板,用java调用打印功能 Java如何调用TSC打印机进行打印详解 ciisunel开关弹簧坏了 web服务器怎么调用局域网打印机 java网络打 java调用网络打印机色彩选择是哪个属性 Java如何调用系统打印机打印文件 求一款美的微波炉的型号 美的微波炉型号每个字母代表什么意思啊?跪求详细解析,谢谢啦! 美的微波炉型号问题。 美的微波炉的型号代表什么 美的微波炉什么型号比较实惠又好用啊 想买一台美的的微波炉,不知道买哪一种? 手机上怎么录屏 美的微波炉哪种型号最好? 我买的美的微波炉不知知道型号 美的微波炉价格表和型号推荐(最新) 请问在R语言中是用exp(x)表示e^x吗? java调用打印机打印问题求解 java 调用打印机API无法打印,但是直接打印可以,请问有人遇到过这样的问题吗? 怎么用java调用默认打印机打印文档? java 可以做网页打印吗? 如何用JAVA调用TLP条码打印机打印条码 可爱日语怎么说? ‘好可爱’用日语怎么说? 卡哇伊的日语怎么说? 日语你也很可爱怎么说? 日语,好可爱,好可怜,好可怕,分别是怎么翻译啊?看日漫听起来都差不多,请附上罗马音。。。 可爱用日语怎么说 si 请问“好可爱”这个词在日语里是怎样翻译? “我很可爱”用日语怎么说?谢谢 “soul mate”怎么读? 日语翻译可爱いじゃないですか?怎么翻译?能翻译真漂亮吗? “可爱”的名词用日文怎么翻译 好可爱翻译日语 "那天在火车上,你睡觉的样子真的很可爱”日语翻译。。。 soulmate.是什么意思? SOULMATE怎么样