文档库 最新最全的文档下载
当前位置:文档库 › Java 调用打印机打印图片

Java 调用打印机打印图片

Java 调用打印机打印图片
Java 调用打印机打印图片

import java.io.FileInputStream;

import java.io.IOException;

import javax.print.Doc;

import javax.print.DocFlavor;

import javax.print.DocPrintJob;

import javax.print.PrintException;

import javax.print.PrintService;

import javax.print.PrintServiceLookup;

import javax.print.SimpleDoc;

import javax.print.attribute.DocAttributeSet;

import javax.print.attribute.HashDocAttributeSet;

import javax.print.attribute.HashPrintRequestAttributeSet;

import javax.print.attribute.PrintRequestAttributeSet;

import javax.print.attribute.standard.Copies;

import javax.print.attribute.standard.MediaPrintableArea;

import javax.print.attribute.standard.OrientationRequested;

import javax.print.attribute.standard.PrintQuality;

public class PrintImage {

public void drawImage(String fileName, int count) {

try {

DocFlavor dof = null;

if (fileName.endsWith(".gif")) {

dof = DocFlavor.INPUT_STREAM.GIF;

} else if (fileName.endsWith(".jpg")) {

dof = DocFlavor.INPUT_STREAM.JPEG;

} else if (fileName.endsWith(".png")) {

dof = DocFlavor.INPUT_STREAM.PNG;

}

PrintService ps = PrintServiceLookup.lookupDefaultPrintService();

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

pras.add(OrientationRequested.PORTRAIT);

pras.add(new Copies(count));

pras.add(PrintQuality.HIGH);

DocAttributeSet das = new HashDocAttributeSet();

// 设置打印纸张的大小(以毫米为单位)

das.add(new MediaPrintableArea(0, 0, 210, 296, MediaPrintableArea.MM));

FileInputStream fin = new FileInputStream(fileName);

Doc doc = new SimpleDoc(fin, dof, das);

DocPrintJob job = ps.createPrintJob();

job.print(doc, pras);

fin.close();

} catch (IOException ie) {

ie.printStackTrace();

} catch (PrintException pe) {

pe.printStackTrace();

}

}

public static void main(String[] args) {

new PrintImage().drawImage("C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures\\image\\CMMI3证书扫描件1.jpg", 1);

}

}

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

Java实现打印功能

Java实现打印功能 用java实现打印,java.awt中提供了一些打印的API,要实现打印,首先要获得打印对象,然后继承Printable实现接口方法print,以便打印机进行打印,最后用用Graphics2D直接输出直接输出。 下面代码实现了简单的打印功能: import java.awt.BasicStroke; import java.awt.Color; import https://www.wendangku.net/doc/779540601.html,ponent; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.RenderingHints; import java.awt.font.FontRenderContext; import java.awt.font.LineBreakMeasurer; import java.awt.font.TextAttribute; import java.awt.font.TextLayout; import java.awt.geom.Point2D; import java.awt.image.BufferedImage; 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; import java.text.AttributedString; import javax.swing.JApplet; public class PrintTest implements Printable{ /** * @param Graphic指明打印的图形环境 * @param PageFormat指明打印页格式(页面大小以点为计量单位,1点为1英才的1/72,1英寸为25.4毫米。A4纸大致为595×842点) * @param pageIndex指明页号 **/

解决无法打印Word文档图形问题

解决无法打印Word文档图形问题 可能你在Word中插入了数幅图片,以求得图文并茂的效果。但当你打印该文档时,文档中的图形却没有打印出来。愿下述的方法能解决你的难题。 清除“草稿输出” 如果Word被设置为在草稿模式下打印,则Word将以最少的格式打印文档,即不打印格 和图形。清除“草稿输出”模式的方法是: 单击“工具”→“选项”→“选项”→“打印”,清除“草稿输出”复选框,单击“确定”按钮。 选中“图形对象” 如果文档中的图形你是使用“绘图”工具栏上的工具创建的,则应确保选中了“图形对象”复选框。因为清除“图形对象”复选框,Word将不打印用“绘图”工具栏上的工具创建的图形对象,而是在图形对象所处位置打印一个空白方框。选中“图形对象”的方法是: 如上所述方法选择“打印”选项卡,选中“图形对象”复选框。单击“确定”按钮。 清除“域代码” 如果你是以链接的方式在文档中插入的图片,则实际上图片所在处是一个Word域。这时,你应当清除“域代码”复选框,确保Word打印域结果即图片本身,而不是打印链接图片的域代码。清除“域代码”复选框的方法是: 如上所述选择“打印”选项卡,清除“域代码”复选框,单击“确定”按钮。 内存不足引起的故障 有时,由于Word或操作系统的内存不足,也可导致不能打印文档中的图形。这时,请执行以下的一项或多项操作,以释放更多的内存空间: 退出正在运行的任何其他程序,保存想打印的文档,然后关闭已打开的任何其他窗口。切换到页面视图,单击“工具”→“选项”→“视图”选项卡,清除“图片框”、“状态栏”、“垂直标尺”、“水平滚动条”和“垂直滚动条”复选框。 切换到普通视图,单击“工具”→“选项”→“视图”选项卡,在“样式区宽度”框中键入“0”。单击“视图”→“工具栏”命令,然后清除所有的复选框以隐藏工具栏,这样可节约内存开销。 退出Word,断开任何网络连接,然后退出驻留程序(TSR)以及其他常用工具。 你到WORD里的:工具----选项---打印…里面有个“打印文档的附加信息”的里面有两个 选项,一个是“图形对象”一个是”背景颜色和图像“打够的画就会打印出来的。

JavaPrintService_Java打印API_用户手册_中文版

目录 第一章介绍 Java平台打印的历史 JDK 1.3 JDK 1.2 JDK 1.1 Java Print Service API能做什么 Java Print Service 构架 javax.print包 发现打印服务 指定打印数据格式 创建打印工作 javax.print.event包 应用程序如何使用JPS 一个基本的例子 第二章属性 属性的类别和值 属性角色 属性集 如何指定属性 标准属性 OrientationRequested Copies Media MediaSize MediaPrintableArea Destination SheetCollate Sides Fidelity 使用JPS属性 第三章指定文档类型 用户格式打印数据 预定义数据格式的MIME类型 文本数据 页面描述语言文档 图像数据 自适应打印数据 表示类 字符编码的重要性 服务格式打印数据 怎样使用DocFlavor 第四章打印及流化文档

比较StreamPrintService与PrintService 定位服务 发现打印服务 发现流打印服务 获得一个打印工作 创建DOC 注册事件 打印服务事件 打印工作事件 PrintJobAttributeListener PrintJobListener 提交打印工作 向打印机提交打印工作 向流提交打印工作 打印服务提供商 第五章打印及流化2D图像 使用打印工作打印或流化图像 打印2D图像 流化2D图像 使用服务格式数据 打印服务格式数据 流化服务格式打印数据 示例:PrintPS.java 示例:PrintGIFtoStream.java 示例:Print2DPrinterJob.java 示例:Print2DGraphics.java 示例:Print2DtoStream.java 示例:PrintGIF.java Java Print Service 词汇表

喷墨打印机无法打印说明

以HP DESKJET 660C 喷墨打印机以例 一、打印机有打印动作,但不能打印字符打印机有打印动作,字车能左右运动,打印纸正常走纸,但是不能打印出字符。 故障分析此故障一般不是打印机的机械、电气故障,通常是喷头产生了问题。 故障原因为: A、喷头位置安装不当如果安装喷头时未能安装到位,将使喷头与底座上的电路板接触不良,造成喷头不能正常喷墨,引起不能打印字符的故障。此时应先取下打印喷头,重新安装。安装时要先安装黑色打印头,注意要安装到位;再安装彩色打印头,安装到位后,关闭打印机机盖。注意在安装过程中手不要触摸、碰撞喷头和喷头底座上面的铜触点,保持其上面的清洁以避免接触不良,还应避免触摸、碰撞墨水喷嘴,以防止喷嘴损坏。每次更换或重新安装打印头时,都必须将黑色打印头和彩色打印头校准,以保持黑色墨水和彩色墨水在同一行文字上或同一幅图象内一起使用时,能够保持对准。 B、喷嘴上的保护胶带没有撕掉喷嘴打印机的打印头在出厂时为了保护喷墨嘴和防止喷墨内的墨水干涸,在喷嘴上面粘有一张透明胶带,如果第一次安装打印时没有将此胶带撕掉,墨水就不能从喷嘴中喷出,造成不能打印出字符故障。所以喷墨打印机在第一次安装打印之前一定要撕掉保护喷嘴的胶带,且不要触摸、碰撞喷嘴和铜触点。 C、头中的墨水用完HP DESK JET 660C 打印机的喷头是喷嘴和墨盒一体化结构,如果喷头中的墨水用完,也会出现不能打印字符现象,此时应该更换喷头。由于喷头内的墨水有害人类健康,应注意不要随便丢弃废弃的喷头。 D、喷嘴被堵塞如果使用打印机时,在喷头没有回到左边初始位置之前就关机,喷嘴没有被盖帽保湿,使喷嘴暴露在空气中,喷嘴处的墨水容易干涸,形成一层墨垢。这层墨垢在打印时会阻挡墨水的喷出,造成不能打印字符的故障。如果为该故障,应将喷嘴取下,用酒精对其进行清洗。 二、打印机有打印动作,但打印出的字符缺点少划 解决方法:在关机的状态下,打开顶盖,取下喷头,用脱脂棉沾酒精轻轻擦洗喷头和底座接触面,待酒精挥发后正确安装好喷头即可。如果是个别喷嘴堵塞,应执行清洗喷嘴操作,不要用酒精棉擦洗喷嘴。 以HP DESKJET 600 喷墨打印机以例 一、打印时一次送入多张打印纸 造成这种故障的原因及解决办法为: A、打印纸不符合要求,如纸张粘在一起。解决办法是将粘在一起的打印纸分开,重新装入。 B、进纸盘中的纸装入的太多,解决办法是取出一些。 C、装入了厚度不同的打印纸,送厚纸的同时将薄的一起带入。解决办法是取出打印纸,装入同一类型、重量、尺寸的打印纸。 二、打印机不能拾取进纸匣中的纸张卡纸造成这种故障的原因及解决方法为: A、进纸匣中的纸张没有贴着送纸器,应将打印纸向里推,贴住送纸器 B、打印机的纸路堵塞,取出出纸匣,然后取出进纸匣的全部打印纸,重新安装出纸匣,并

java学生信息管理系统界面代码

package edu.gzu.stuManager; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton;

import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JRootPane; import javax.swing.JTextField; public class StudentMainView extends JFrame{ private static final long serialVersionUID = -6788045638380819221L; //用户名 private JTextField ulName; //密码 private JPasswordField ulPasswd; //小容器 private JLabel j1; private JLabel j2; private JLabel j3; private JLabel j4;

java大作业编一个程序打印出公司月各员工工资

姓名:王镱澍 Java大作业 一、题目 白浪公司的雇员根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 雇员分为以下若干类: SalariedEmployee:拿固定工资的员工。 HourlyEmployee:按小时拿工资的员工。 SalesEmployee:销售人员,工资由月销售额和提成率决定。 BasePlusSalesEmployee:有固定底薪的销售人员,工资由底薪加上销售提成。 公司会给SalaryEmployee每月另外发放2000元加班费,给 BasePlusSalesEmployee发放1000元加班费。编一个java程序创建上述若干类,并实现确定月份以及该月不同员工的工作情况后打印出该公司该月各员工工资,公司总的工资支出情况。 二、程序功能说明 编一个java程序创建上述若干类,并实现确定该月不同员工的工作情况以及输入月份后打印出该公司该月各员工工资,公司总的工资支出情况。 三、类、属性、方法说明 程序中已给出详细解释在此只作简要说明: Employee:这是所有员工总的父类。 属性:员工的姓名和生日月份。 方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100元。 SalariedEmployee:Employee的子类,拿固定工资的员工。 属性:月薪。 方法:每月工作超出160小时的部分按照倍工资发放。 HourlyEmployee:Employee的子类,按小时拿工资的员工。 属性:每小时的工资、每月工作的小时数。 SalesEmployee:Employee的子类,销售人员。 属性:月销售额、提成率。 方法:工资由月销售额和提成率决定。 BasePlusSalesEmployee:SalesEmployee的子类,有固定底薪的销售人员。 属性:底薪。 方法:工资由底薪加上销售提成部分。 四、程序代码 import .*; class MyException extends Exception {

打印机故障排除大全,图文描述,清晰明了

本章内容包括: ?摇匀墨粉 ?避免卡纸的提示 ?清除卡纸 ?解决其他问题 当墨粉盒即将达到使用寿命时: ?出现白色条纹或字迹变淡。 ?Status LED (状态 LED)闪烁红色。 此时通过摇匀墨粉盒内剩余的墨粉,可暂时改进打印质量。在某些情况下,即使摇匀墨粉之后仍然会出现白色条纹或字迹变淡的现象。 1.打开扫描装置。 2.打开内盖。

3.拉出墨粉盒。 4.充分摇动墨粉盒 5 至 6 次,使盒内墨粉均匀分布。

如果不慎将墨粉沾到衣物上,请用干布擦拭并用冷水清洗。热水会使墨粉渗入到衣服纤维中。 切勿接触成像装置或墨粉盒中的硒鼓。请使用墨粉盒上的手柄,以免触及此区域。 5.握住墨粉盒上的手柄,将其慢慢插入机器的开口中。 墨粉盒侧面的垫片和机器内部对应的凹槽会引导墨粉盒进入正确位置,直到完全锁定到位。 6.依次完全合上内盖和扫描装置。确保其已关紧。 选择正确的介质类型可以避免大多数卡纸情况。当出现卡纸现象时,请参考以下准则: ?确保可调导板位于正确的位置(参见在纸盘中装纸)。 ?请勿在纸盘中装入过多纸张。确保纸摞高度不超过纸盘内的纸张容量标记。 ?请勿在打印过程中从纸盘取出纸张。 ?装纸前请弯折,呈扇形散开并拢齐纸张。 ?请勿使用起皱,潮湿或过度卷曲的纸张。 ?请勿在纸盘中混装不同类型的纸张。

?请仅使用推荐的打印介质。 ?确保打印介质的推荐面朝向正确方向(参见在纸盘中装纸)。 ?双面打印时,使用开始按钮一次打印一页(请参见双面打印(手动))。 ?使用特殊纸张打印时,使用开始按钮一次打印一页(请参见在纸盘中手动进纸)。 如果发生卡纸,控制面板上的Status LED (状态 LED)会呈橙色亮起。找到并取出卡住的纸张。 为避免撕破纸张,请小心缓慢地将卡纸抽出。 请按照以下部分的说明清除卡纸。 1.扫描装置 2.内盖 纸盘 1.首先打开扫描装置,然后打开内盖。

打印java方法参数

打印Java方法参数 首先描述一下具体的需求就是,能不能不需要手动添加代码就能打印Java方法所有的参数,这有些时候在我们调试代码的时候有很重要的帮助。 按照这个需求,我们可以想一下我们大体需要一下什么信息,方法的名称,方法参数类型,方法参数的名字,方法参数的值。 如何实现不写代码就能够实现动态的打印这些信息呢,了解Java的这时候就都会想到动态代理。有了动态代理我们就可以不用写代码了,但是为了区分哪些方法需要打印,哪些方法不需要打印,我们这里还需要注解来辅助区分需要打印的方法。 如何获取需要打印的信息呢,这里我相信大家都会想到反射,但是反射这里有一个参数是拿不到的,哪个参数呢,方法参数的名字是拿不到的。这里我们采用的是asm的方式来获取方法参数的名字。 到这里功能已经描述清楚,需要用到的技术也描述清楚,接下来就是具体怎么实现了。 首先,我们设计了一个注解类如下: import https://www.wendangku.net/doc/779540601.html,ng.annotation.ElementType; import https://www.wendangku.net/doc/779540601.html,ng.annotation.Retention; import https://www.wendangku.net/doc/779540601.html,ng.annotation.RetentionPolicy; import https://www.wendangku.net/doc/779540601.html,ng.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public@interface MethodLog { } 接下来就是我们设计的最后要打印的数据的一个简单的封装类,如下: public class MethodInfo { private int index;//参数的索引 private Object parameterType;//参数的类型 private String parameterName;//参数的名称 private Object parameterValue;//参数的值 public MethodInfo(){} public MethodInfo(int index, Object parameterType, String parameterName, Object parameterValue) { super(); this.index = index; this.parameterType = parameterType; this.parameterName = parameterName; this.parameterValue = parameterValue; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; }

Java打印程序设计

Java打印程序设计 1 前言 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮的打印模式的开端,该打印模式与Java2D图形包充分结合成一体。更令人鼓舞的是,新发布的jdk1.4则提供了一套完整的"Java 打印服务 API" (Java Print Service API),它对已有的打印功能是积极的补充。利用它,我们可以实现大部分实际应用需求,包括打印文字、图形、文件及打印预览等等。本文将通过一个具体的程序实例来说明如何设计Java打印程序以实现这些功能,并对不同版本的实现方法进行分析比较,希望大家能从中获取一些有益的提示。 2 Java中的打印 2.1 Java的打印API Java的打印API主要存在于java.awt.print包中。而jdk1.4新增的类则主要存在于javax.print 包及其相应的子包javax.print.event和javax.print.attribute中。其中javax.print包中主要包含打印服务的相关类,而javax.print.event则包含打印事件的相关定义,javax.print.attribute则包括打印服务的可用属性列表等。 2.2 如何实现打印 要产生一个打印,至少需要考虑两条: 需要一个打印服务对象。这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。 需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供的,现在已经很少用了)调用print或printAll方法开始打印工作;也可以通过java.awt.print.PrinterJob的printDialog显示打印对话框,然后通过print方法开始打印;在jdk1.4中则可以通过javax.print.ServiceUI的printDialog显示打印对话框,然后调用print方法开始一个打印工作。 2.3 打印机对话框 2.3.1 Printable的打印对话框 开始打印工作之前,可以通过PrinterJob.printDialog来显示一个打印对话框。它给用户一个机会以选择应该打印的页码范围,并可供用户改变打印设置。它是一个本地对话框。

java NetBean创建并实现登录窗口教程

图书馆管理系统开发步骤图书馆管理系统开发步骤((三) 这一部分,我们学习如何创建并实现登录窗口。最后完成的登录窗口如下图所示: 1、创建创建登录窗体类登录窗体类 首先启动NetBeans IDE ,右键单击项目,在弹出的上下文菜单中,依次选择【新建】| 【JFrame 窗体…】菜单项,打开新建窗体向导对话框。如下图所示: 在弹出的“新建JFrame 窗体”对话框中,设置新建登录窗体的名称为“LoginIFrame ”,取包名为“com.xuejava.iframe ”。然后单击【完成】按钮。如下图所示:

此时会出现新建窗体的设计窗口,及相关属性和导航窗口。如下图所示: 2、设计登录窗体布局 接下来,在放置组件之前,要先设计好登录窗体的布局。在这里,我们将登录窗体的布局,设置为BorderLayout布局模式(边框式布局)。具体操作如下图所示:

在设计窗口,在上、中、下三个区域分别放入一个JLabel组件和两个JPanel面板组件。如下图所示: 因为最下方的面板中,我们只用来放置两个按钮:登录和重置按钮。很明显,下方的面板有点快。所以我们需要进一步调整面板的大小。 先选中最下方的面板,然后在右侧的属性面板中,打开一个名为“preferredSize”的属性,将其高度改为60。如下图所示:

单击【确定】按钮,再转到窗体“设计”界面,会发现最下方的面板高度明显减少。如下图所示: 3、添加组件 3.1 选中最上方的jLabel组件,设置其背景为login.jpg图片。如下图所示:

单击【确定】按钮,此时界面如下图所示(可能图片宽度小于默认的窗体宽度,适当调整窗体宽度到与图片宽度相同): 3.2 在中间的面板中,放置接收用户输入信息的组件。如下图所示: 3.3 在最下方的面板中,放置两个按钮组件:一个用户提交用户登录信息,一个用来重

Java打印最

Java打印最大的改变来自于J2SE的发布带来的Java打印服务API。这个第三代Java打印支持接口突破了先前提到的使用javax.print包的PrintService和DocPrintJob接口的局限性。因为新的API就是以前两种旧的打印机制定义的功能函数的一个父集,它是目前我们常用的方法并且是这篇文章的焦点。 更深入来说,以下的步骤包含了怎么使用这个新的Java打印服务API: 1.定义打印机,限制那些返回到提供你要实现功能的函数的列表。打印服务实现了PrintService接口. 2.通过调用接口中定义的createPrintJob()方法创建一个打印事件,作为DocPrintJob 的一个实例。 3.创建一个实现Doc接口的类来描述你想要打印的数据, 你也可以创建一个PrintRequestAttributeSet的实例来定义你想要的打印选项。 4.通过DocPrintJob接口定义的printv()方法来初始化打印,指定你先前创建的Doc,指定PrintRequestAttributeSet或者设为空值。 现在你可以检查每一步并且试着完成它们。 注意 在这篇文章里,我将交替使用打印机和打印服务,因为在大部分情况下,打印服务不亚于一台真实的打印机。一般的打印服务反映了理论上可以发送到不仅仅是打印机的的输出。举例来说,打印服务也许根本不能打印东西但是可以往磁盘上的文件写数据。换句话说,所有的打印机可以看成是特殊的打印服务,但是并不是所有打印服务和打印机有联系。就像你一般把你的文本送到打印机那里一样,我有时候使用更为简便的打印机这个名词来代替技术上更精确的打印服务。 定义打印服务 你可以使用在PrintServiceLookup类中定义的三种静态方法中的一种来定义。最简单的一种就是lookupDefaultPrintService(),正如它的名字一样,它返回一个你默认的打印机: PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 虽然用这个办法很简单也很方便,用它来选择你的打印机意味着用户的打印机一直都支持你的程序所要精确传输的数据输出。实际上,你真正想要的是那种可以处理你想要的数据的类型并且可以支持你要的特征例如颜色或者两边打印。为了从列表中中返回你所要求的特殊功能支持的打印机,你可以使用剩下两个方法中的lookupPrintServices() 或者lookupMultiDocPrintServices()。

打印机不打印的原因及解决方法.

打印机不打印的原因及解决方法 打印机已经成为日常办公中不可缺少的设备,工作、生活、学习中所用的文档资料,有很大一部分是来自打印机的杰作。然而,我们在打印各种资料的时候,也会经常遇到一些问题。如打印机不能打印。引起打印机不打印的故障原因有很多种,有打印机方面的,也有计算机方面的。以下分别进行介绍: 1. 检查打印机是否处于联机状态。在大多数打印机上“OnLine”按钮旁边都有一个指示联机状态的灯,正常情况下该联机灯应处于常亮状态。如果该指示灯不亮或处于闪烁状态,则说明联机不正常,重点检查打印机电源是否接通、打印机电源开关是否打开、打印机电缆是否正确连接等。如果联机指示灯正常,关掉打印机,然后 再打开,看打印测试页是否正常。 2. 检查打印机是否已设置为默认打印机。点击“开始/设置/打印机”,检查当前使用的打印机图标上是否有一黑色的小钩,然后将打印机设置为默认打印机。如果“打印机”窗口中没有使用的打印机,则点击“添加打 印机”图标,然后根据提示进行安装。 3. 检查当前打印机是否已设置为暂停打印,方法是在“打印机”窗口中用右键单击打印机图标,在出现的 下拉菜单中检查“暂停打印”,选项上是否有一小钩,如果选中了“暂停打印”请取消该选项。 4. 在“记事本”中随便键入一些文字,然后单击“文件”菜单上的“打印”。如果能够打印测试文档,则

说明使用的打印程序有问题,重点检查WPS、CCED、Word或其他应用程序是否选择了正确的打印机,如果是应用程序生成的打印文件,请检查应用程序生成的打印输出是否正确。 5. 检查计算机的硬盘剩余空间是否过小。如果硬盘的可用空间低于10MB则无法打印,检查方法是在“我的电脑”中用右键单击安装Windows的硬盘图标,选择“属性”,在“常规”选项卡中检查硬盘空间,如果硬盘剩余空间低于10MB,则必须清空“回收站”,删除硬盘上的临时文件、过期或不再使用的文件,以释放更多的空间。 6. 检查打印机驱动程序是否合适以及打印配置是否正确。在“打印机属性”窗口中“详细资料”选项中检查以下内容:在“打印到以下端口”选择框中,检查打印机端口设置是否正确,最常用的端口为“LPT1(打印机端口)”,但是有些打印机却要求使用其他端口;如果不能打印大型文件,则应重点检查“超时设置”栏目的各项“超时设置”值,此选项仅对直接与计算机相连的打印机有效,使用网络打印机时则无效。 7. 检查计算机的BIOS设置中打印机端口是否打开。BIOS中打印机使用端口应设置为“Enable”,有些打印机不支持ECP类型的打印端口信号,应将打印端口设置为“Normal、ECP+EPP”方式。 8. 检查计算机中是否存在病毒,若有需要用杀毒软件进行杀毒。 9. 检查打印机驱动程序是否已损坏。可用右键单击打印机图标,选择“删除”,然后双击“添加打印机”,重新安装打印机驱动程序。 10. 打印机进纸盒无纸或卡纸,打印机墨粉盒、色带或碳粉盒是否有效,如无效,则不能打印。 1、打印结果不正常 2、在我们打印的时候,有时会遇到打印出的东西不正常,如随机字符叠印,打印结果不全,文本歪斜等。究其原因主要是: 1)打印机的型号选择错误或打印驱动程序被破坏,可以通过重新安装正确的打印驱动程序。 2)打印过程遭到强行终止,如断开打印机电源又重新打开等,可以首先清楚所有的打印任务,然后关闭打印机,略等一会儿,再打开打印机重新打印需要打印的文档。 3)应用程序打印设置错误,包括纸张类型设置错误,边界设置错误等,另外还可能是该文档制作时的错误造成的。如果该程序有打印预览的功能,则可以通过观察预览的正确与否来判断是否是使用该应用程序出现的问题。

(完整版)JSP登陆页面代码

静态的登录界面的设计login.htm,代码如下: Html代码 1. 2. 3. 系统登录 4. 14. 15. 16.

17. 18. 19. 20. 22. 23. 24. 25.
26. 27.
28.
29.
33. 34. 35. 36. 37.
系统登录 21.
用户名
密  码
30.    31. 32.
38.

JavaWeb用户登录功能的实现

JavaWeb用户登录功能的实现 大四快毕业了,3年多的时间中,乱七八糟得学了一大堆,想趁找工作之前把所学的东西整理一遍,所以就尝试着做一个完整的JavaWeb系统,这几天试着做了一个用户登录的功能,分享给大家,肯定有很多不完善的地方,希望大家提提宝贵的意见,必将努力完善它。 我贴出此篇博客的目的是,将一些以后有可能用到的重复性的代码保存下来,用于以后需要时直接复制粘贴,所以,此篇博客大部分都是代码,讲解性的语句并不多,如果大家看得头疼,不如不看,以后万一用到的话再拿过来修修改改即可。 有可能用得到的部分:生成验证码的Java类、操作数据库的Java类 用户登录模块采用了多种语言: Html、css、query:页面 Servlet、java:后台 运行效果图: Login.html代码: 登录界面

登录
JQuery代码:login.js $(function(){ $(".loginform_submit").click(function(){ if(checkInput()) { $("form").action("/loginServlet"); }else{ return false;

利用iText包实现Java报表打印

利用iText包实现Java报表打印 摘要:结合报表制作的两种情形介绍了iText的应用方法。一种是由程序对象动态产生整 个报表文件的内容,另一种是在已存在的PDF报表文档中填写数据域以完成报表。给出了Java 实现报表打印的控制方法。关键词: Java报表;iText包;动态报表;填充型报表;报表打 印 在信息系统应用中,报表处理一直起着比较重要的作用。Java报表制作中最常使用的是 iText组件,它是一种生成PDF报表的Java组件。本文讨论两种形式的PDF报表处理,一种 是通过程序对象生成整个PDF报表文档,另一种是利用制作好的含报表的PDF文档模板,通 过在模板填写数据实现数据报表。1 通过编程绘制实现报表的生成对于内容动态变化的 表格,适合使用程序绘制办法进行生成处理。这类表格中数据项和数据均是动态存在的。1.1 使用iText编程生成含报表的PDF文档的步骤[1] (1)建立Document对象。Document是 PDF文件所有元素的容器。 Document document = new Document(); (2)建立一个与 Document对象关联的书写器(Writer)。通过书写器(Writer)对象可以将具体文档存盘成需要 的格式,PDFWriter可以将文档保存为PDF文件。 PDFWriter.getInstance(document, new FileOutputStream("my.PDF")); (3)打开文档。如:document.open(); (4) 向文档中添加内容。所有向文档添加的内容都是以对象为单位的,iText中用文本块(Chunk)、 短语(Phrase)和段落(Paragraph)处理文本。 document.add(new Paragraph("Hello World"));//添加一个段落值得注意的是文本中汉字的显示,默认的iText字体设 置不支持中文字体,需要下载远东字体包iTextAsian.jar,否则不能往PDF文档中输出中文 字体[2]。 (5)关闭文档。如:document.close();1.2 表格绘制要在PDF文件中创建 表格,iText提供了两个类——Table和PdfPTable。Table类用来实现简单表格, PdfPTable类则用来实现比较复杂的表格。本文主要讨论PdfPTable类的应用。 (1)创建 PdfPTable对象创建PdfPTable对象只需要指定列数,不用指定行数。通常生成的表格 默认以80%的比例显示在页面上。例如定义3列的表格,每列的宽度分别为15%、25%和60%, 语句如下:float[] widths = {15f, 25f, 60f}; PdfPTable table = new PdfPTable(widths); 用setWidthPercentage(float widthPercentage)方法可设置表格 的按百分比的宽度。而用setTotalWidth则可设置表格按像素计算的宽度。如果表格的内容 超过了300 px,表格的宽度会自动加长。用setLockedWidth(true)方法可锁定表格宽度。通 过表格对象的系列方法可设置表格的边界以及对齐、填充方式。 (2)添加单元格表格 创建完成以后,可通过addCell(Object object)方法插入单元格元素(PdfPCell)。其中, Object对象可以是PdfPCell、String、Phrase、Image,也可以是PdfPTable对象本身,即 在表格中嵌套一个表格。通过单元格的方法可设定单元格的列跨度、边框粗细、对齐方式、 填充间隙等。 (3)合并单元格为了实现某些特殊的表格形式,需要合并单元格。 PdfPCell类提供了setColspan(int colspan)方法用于合并横向单元格,参数colspan为合 并的单元格数。但要合并纵向单元格需要使用嵌套表格的方法。将某个子表加入单元格,且 安排单元格所占列数为子表中列数,则其行跨度也就是子表中的行数。由于实际编程时, 经常出现各类结构的嵌套情形,可以将产生某种结构的表格模块进行封装,编制成方法,通 过传递方法参数完成表格特定模块的绘制。例如,可以将生成一个整齐行列表格的代码 编写成方法。方法返回表格,填充的数据通过二维对象数组传递。代码如下:public static PdfPTable creatSubTable(Object x[][]){ PdfPTable t= new PdfPTable(x[0].length); t.getDefaultCell ().setHorizontalAlignment (Element.ALIGN_CENTER); for (int k=0;k<x.length;k++) { for (int j=0;j<x[0].length;j++) t.addCell(new Phrase(x[k][j].toString(),FontChinese)); } return t;}

QQ登录界面java代码(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改 赠人玫瑰,手留余香。 package denglu; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class Dl extends JFrame{ private static final long serialVersionUID = 1L; Font f1=new Font("宋体", Font.PLAIN, 14); JLabel lb1,lb2,lb3,lb4; JButton b1,b2,b3; JComboBox cb; JTextField tf; JTextField pw; public void CreateJFrame(String title) { JFrame jf = new JFrame(title); Container container = jf.getContentPane(); lb1=new JLabel(new ImageIcon("image/tou.gif")); lb2=new JLabel(new ImageIcon("image/qqtou.gif"));

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String args[]) { // 在主方法中调用createJFrame()方法 new Dl().CreateJFrame("QQ登陆界面"); } } jp=new JPanel(); jp.setLayout(null); jp_jlb1=new JLabel(new ImageIcon("image/qqtou.gif")); jp_jlb1.setBounds(18, 10, 85, 85); //设置标签位置前提是要空布局 jp_jtf=new JTextField("QQ号码/手机/邮箱"); jp_jtf.setForeground(Color.LIGHT_GRAY);//设置颜色 jp_jtf.addMouseListener(this); jp_jtf.setBounds(118, 11, 170, 25); jp_pw=new TextField("密码",24); jp_pw.setForeground(Color.LIGHT_GRAY); jp_pw.addMouseListener(this); jp_pw.setBounds(118, 45, 170, 24);

相关文档
相关文档 最新文档