java程序启动打印_JAVA打印问题:程序正常运行,打印机无反应

我需要打印一份TXT文件,但是运行后程序未出现异常,打印机却没有反应。打印机在其他地方都是正常工作的。求解为什么???打印机型号:GprinterGP-9035T代码:importjava.awt.Graphi...

我需要打印一份TXT文件,但是运行后程序未出现异常,打印机却没有反应。打印机在其他地方都是正常工作的。求解为什么???打印机型号:Gprinter GP-9035T

代码:

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.print.*;

import java.io.*;

import javax.print.*;

import javax.print.attribute.*;

public class test_for_printer_4 implements Printable

{

private static void printFileAction()

{

try

{

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

PrintService printService = PrintServiceLookup.lookupDefaultPrintService();

DocPrintJob print

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android应用程序调用打印机打印图片,可以使用Android自带的打印API。以下是一些可能的步骤: 1. 确定您要使用的打印机类型,并使用相应的打印机驱动程序将其连接到Android设备。 2. 在Android应用程序中,使用Bitmap对象来加载要打印的图像。 3. 创建PrintDocumentAdapter对象,该对象将负责管理打印过程。 4. 实现PrintDocumentAdapter的onWrite()方法,该方法将图像写入打印输出流。 5. 创建PrintManager对象,并使用它来启动打印作业。 以下是一个简单的代码示例,用于在Android应用程序调用打印机打印图片: ```java private void printImage(Bitmap bitmap) { // Create a PrintManager instance PrintManager printManager = (PrintManager) getSystemService(Context.PRINT_SERVICE); // Set the print job name String jobName = getString(R.string.app_name) + " Document"; // Start a print job printManager.print(jobName, new MyPrintDocumentAdapter(bitmap), null); } private class MyPrintDocumentAdapter extends PrintDocumentAdapter { private Bitmap bitmap; public MyPrintDocumentAdapter(Bitmap bitmap) { this.bitmap = bitmap; } @Override public void onWrite(PageRange[] pages, ParcelFileDescriptor destination, CancellationSignal cancellationSignal, WriteResultCallback callback) { // Write the bitmap to the output stream try { OutputStream out = new FileOutputStream(destination.getFileDescriptor()); bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); out.flush(); out.close(); callback.onWriteFinished(new PageRange[]{PageRange.ALL_PAGES}); } catch (Exception e) { callback.onWriteFailed(e.toString()); } } @Override public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes, CancellationSignal cancellationSignal, LayoutResultCallback callback, Bundle extras) { // Nothing to do here } } ``` 注意,这只是一个简单的示例,并且可能需要根据您的具体需求进行修改。在实际应用程序中,您可能需要为打印作业添加选项,例如页面大小和方向,以及打印前的预览等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值