0 0

JAVA调用打印机打印txt文件,中文打印出来是乱码0

用java调用打印机打印txt文件,中文时候是乱码,有遇到过的吗?

private void printFileAction()
{
    // 构造一个文件选择器,默认为当前目录
    JFileChooser fileChooser = new JFileChooser(SystemProperties.USER_DIR);
    int state = fileChooser.showOpenDialog(this);// 弹出文件选择对话框
    if (state == fileChooser.APPROVE_OPTION)// 如果用户选定了文件
    {
         File file = fileChooser.getSelectedFile();// 获取选择的文件
         // 构建打印请求属性集
        PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
         // 设置打印格式,因为未确定文件类型,这里选择 AUTOSENSE
        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
         // 查找所有的可用打印服务
        PrintService printService[] =
PrintServiceLookup.lookupPrintServices(flavor, pras);
         // 定位默认的打印服务
        PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();
        // 显示打印对话框
        PrintService service = ServiceUI.printDialog(null, 200, 200, printService
            , defaultService, flavor, pras);
        if (service != null)
        {
             try
            {
                 DocPrintJob job = service.createPrintJob();// 创建打印作业
                FileInputStream fis = new FileInputStream(file);// 构造待打印的文件流
                DocAttributeSet das = new HashDocAttributeSet();
                Doc doc = new SimpleDoc(fis, flavor, das);// 建立打印文件格式
                job.print(doc, pras);// 进行文件的打印
            }
            catch(Exception e)
            {
                 e.printStackTrace();
            }
        }
    }
}
 
2012年8月30日 18:55

1个答案 按时间排序 按投票排序

1 0

1.看你文件是不是是先tf-8 如果不是请你的txt另存为utf-8,编译器编译使用utf-8
2.对文件内容编码测试,例如:getBytes("UTF-8"),getBytes("gbk");然后在传入file中
3.如果使用eclipse设置成uf-8,在eclipse里直接打印,看看有没问题
eclispe编译后,你的运行环境是中文操作系统,会默认gbk的

2012年8月30日 22:51

相关推荐

    Java 实现POS打印机无驱串口打印(解决中文乱码)修改版

    java串口通信通过静态的CommPortIdentifer.getPortIdentifiers()获得端口列表;再从这个端口列表中选择所需要的端口,并调用...解决中文乱码主要是用OutputStreamWriter包在OutputStream的底层流,设置GBK编码读取.

    使用java实现,通过zpl指令调用 zebra打印机打印标签,含二维码及中文

    在本文中,我们将深入探讨如何使用Java编程语言来实现ZPL指令,以便调用Zebra打印机进行标签打印,包括二维码和中文字符。ZPL(Zebra Programming Language)是Zebra公司开发的一种专用于控制其标签打印机的语言,它...

    JAVA调用zpl条码打印机打印实现中文打印。

    在IT行业中,尤其是在软件开发...总之,Java调用ZPL条码打印机实现中文打印和网络打印涉及字符编码、网络通信、ZPL指令等多个技术层面。理解这些知识点,并结合实践中的调试和优化,可以帮助我们高效地完成打印任务。

    JAVA调用zpl条码打印机打印中文实例

    在本文中,我们将深入探讨如何使用JAVA调用ZPL(Zebra Programming Language)条码打印机来打印中文实例。ZPL是一种编程语言,专门用于配置和控制Zebra品牌的条码和标签打印机,它允许用户创建自定义的标签设计,...

    Java 实现 POS 打印机无驱串口打印(解决中文乱码)

    ### Java 实现 POS 打印机无驱串口打印(解决中文乱码) #### 背景介绍 在日常工作中,POS 打印机是非常常见的设备之一,它被广泛应用于零售业、餐饮业等场景中进行小票打印。通常情况下,POS 打印机与计算机之间...

    中文java技术网在Java中轻松打印文档.rar_java 打印_java打印中文

    在Java编程语言中,打印文档是一项常见的任务,尤其在企业级应用中,它涉及到报表、合同等文件的输出。本文将深入探讨如何在Java中轻松地实现文档打印,特别是处理中文字符的问题。 首先,Java提供了`java.awt....

    Ireport中文不显示以及乱码十几种解决方案

    12. **预览与打印差异**:预览时正常,但打印或导出时乱码,可能是导出格式或打印机驱动不支持中文,需检查相关设置。 十三、特殊字符问题 13. **特殊字符处理**:某些中文字符可能不被常规字体支持,需要找包含...

    Java实现Web报表打印功能.

    值得注意的是,当处理包含中文的内容时,需额外引入支持亚洲字体的iTextAsian.jar文件,避免乱码问题。 #### 报表打印实现策略 ##### 直接编程生成PDF文档 通过直接编程方式,可以利用iTextAPI构建PDF文档。示例...

    世友SEWOO蓝牙、Wifi打印开发demo

    7. **charset for java.pdf**:Java字符集文档,对于处理不同编码格式的数据(如打印文本中的特殊字符)至关重要,确保数据在传输过程中不会出现乱码。 在"Sample"和"Library"文件夹中,很可能包含了实际的代码示例...

    cups4j:用于CUPSIPP的Cups4j Java打印库

    Cups4j Cups4j — CUPS的Java打印库。目录输入该库可从Maven Central存储库(位于。 要在项目中导入和使用cups4j ,请在pom.xml文件中添加以下依赖项:< dependency> < groupId>org.cups4j</ groupId> < artifactId>...

    LK-Bxx_JAVA_SDK.zip

    【标题】"LK-Bxx_JAVA_SDK.zip" 涉及的是一个针对Sewoo打印机的Java SDK,专门用于帮助开发者通过Java语言与Sewoo打印机进行交互。这里的"Bxx"可能是型号系列的一部分,具体型号可能为LK-B425,这是一种常见的工业级...

    escpos-php:PHP库,用于打印到与ESCPOS兼容的热敏打印机

    它使您可以在兼容的打印机上生成和打印带有基本格式,剪切和条形码的收据。 开发该库是为了向任何PHP应用程序(包括基于Web的销售点(POS)应用程序)添加对收据打印的直接支持。 兼容性 接口和操作系统 已知此...

    ESC/P,ESC/P2,ESC/PK,ESC/PK2程序设计指南

    它允许用户在打印机上执行各种打印控制任务,如字体选择、打印质量和速度等。ESC/P 以其高效性和广泛支持的打印机类型而被广泛使用。 ESC/P2 是 ESC/P 的改进版,增加了更多的打印控制功能,比如更多的字体控制和...

    DocumentRenderer

    6. **事件处理**:为了响应用户的交互,如取消打印或选择不同的打印机,`DocumentRenderer`可能需要监听并处理各种事件,如`PrintJobEvent`。 7. **性能优化**:由于Web页面可能很大,`DocumentRenderer`需要有效地...

    JAVA2D 相关教程 word文档

    - **基本模型**:Java 2D API保持了原有的图形绘制模型,即设置图形上下文后调用Graphics对象的绘制方法。Graphics2D扩展了Graphics,增加了更多图形属性和绘制方法。 - **设备无关性**:Java 2D API自动补偿不同...

    pdfSaveAndPrint.rar

    5. **发送打印指令**:调用`PrintJob.print()`方法发送打印指令,然后等待打印机响应。 以上就是针对"pdfSaveAndPrint.rar"资源所涉及的中文PDF保存和打印的关键知识点。通过理解和应用这些技术,开发者可以创建出...

    Java串口操作包RXTX-2.1

    在遇到IBM的JavaComm包在特定场景下表现不佳,如打印乱码等问题时,RXTX往往能作为一个更好的替代方案。 RXTX库主要包含以下功能: 1. **串口配置**:RXTX允许用户设置串口参数,如波特率(Baud Rate)、数据位...

    jasperreportireport中文指南.pdf

    **4.4 怎样使某个字段中的数据在特定条件下才打印出来** 通过条件表达式控制字段的可见性。 **4.5 如何将PDF格式报表结果直接输出到打印机** 利用API将生成的PDF文件发送到打印机。 #### 5. 参考信息及其他 **...

    2021-2022计算机二级等级考试试题及答案No.14871.docx

    9. **打印命令的位置**:在Windows中,打印相关的命令通常位于文件菜单下的“打印”或“打印机”选项,而不是直接在“文件”菜单里。 10. **Visual FoxPro表达式逻辑判断**:在Visual FoxPro中,逻辑表达式EMPTY...

Global site tag (gtag.js) - Google Analytics