Java 使用标签打印机打印到特定页面尺寸

2024-06-24

我正在尝试使用标签打印机(具体来说是EPSON TM-T88V)来吐出PNG图像。

我可以让它打印得很好,除了当我打印图像尺寸(再次具体说明为 72dpi 时为 220x175)时,打印的图像顶部有一团空白,我认为这是浪费纸张。

关于如何最大限度地减少纸张浪费有什么想法吗?我希望它只打印图像,最小化空白,然后剪纸。

这是我的代码

    AttributeSet aset = new HashAttributeSet();
    aset.add(new PrinterName(printerName, null));
    /* locate a print service that can handle the request */
    PrintService[] services = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.PNG, aset);

    if (services.length >= 1) {
        /* create a print job for the chosen service */
        DocPrintJob pj = services[0].createPrintJob();

        DocAttributeSet das = new HashDocAttributeSet();
        das.add(PrintQuality.HIGH);
        das.add(MediaSizeName.ISO_A7); // I know the problem is here somewhere. This Media size seems to work best currently

        try {
            /* 
            * Create a Doc object to hold the print data.
            */
            Doc doc = new SimpleDoc(imageByteIs, DocFlavor.INPUT_STREAM.PNG, das);

            /* print the doc as specified */
            pj.print(doc, null);

        } catch (PrintException e) { 
            System.err.println(e);
        }
    }

您可以通过以下方式找到可用的纸张尺寸:

PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
Media[] res = (Media[]) printService.getSupportedAttributeValues(Media.class, null, null);
for (Media media : res) {
    if (media instanceof MediaSizeName) {
        MediaSizeName msn = (MediaSizeName) media;
        MediaSize ms = MediaSize.getMediaSizeForName(msn);
        float width = ms.getX(MediaSize.INCH);
        float height = ms.getY(MediaSize.INCH);
        System.out.println(media + ": width = " + width + "; height = " + height);
    }
}

找到最适合您的纸张尺寸的可用 MediaSizeName 后,只需添加它来代替 MediaSizeName.ISO_A7。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 使用标签打印机打印到特定页面尺寸 的相关文章

  • 如何使用 Java Swing 创建图像映射?

    我需要使用 Swing 制作一个显示背景图像的图像地图 然后当鼠标悬停在 或单击 特定热点上时 我需要弹出一个 放大 图像并显示它 我正在考虑扩展 JPanel 以包含图像引用并通过 PaintComponent g 方法绘制该图像 到目前
  • 如何将DEX反编译成Java源代码?

    如何将Android DEX VM字节码 文件反编译成相应的Java源代码 这很容易 获取这些工具 dex2jar https github com pxb1988 dex2jar将 dex 文件转换为 jar 文件 jd gui http
  • Android update 17 似乎与外部 Jars 不兼容

    我刚刚允许我的 Mac 对其 Java 安装进行更新 现在我的一些旧罐子 例如javax mail and apache commons httpclient 正在投掷 找不到类 运行时异常 意思是 它们编译得很好 但在运行时崩溃 出现如下
  • n 个素数之和 java,困惑

    我读过几篇关于这方面的文章 我什至在一次考试中这样做过 但是是在 vb net 中 它工作得很好 但是当我尝试执行我的程序时 Eclipse 只是不停地运行 否则它会给我错误的答案 这是我的第四次尝试 我需要将前 n 个素数相加 因此我检查
  • 使用 Apache Commons File Upload 解析 multipart/form-data

    Apache Commons File Upload 包是否提供了流解析的通用接口multipart form data块通过InputStream 附加Array
  • 如何在 Spring Data MongoDB 中仅返回查询的特定字段?

    我们如何在 Spring Data Mongo 中选择特定字段 我尝试了以下操作 但我得到了强制转换异常Foo to String Using Query Query value path 0 fields path 0 String fi
  • Java 1.6 和 Desktop.open() 的问题

    我一直在使用 Destop open 在 Windows 计算机 Vista 和 XP 上启动 pdf 查看器 并且大多数都工作得很好 但是 在一台 XP 计算机上 该调用不起作用 只是返回而不抛出任何异常 并且查看器不会启动 据我所知 在
  • 如何将背景图像设置到 JPanel 中的 JTextArea

    我想在JTextArea 我在谷歌上查找过 但没有结果 背景可能是一个标志 我也想知道如何设置背景的分辨率 我的包中只有一门课 我有一个 MySQL 连接器驱动程序作为参考库 我的工作台是 Eclipse 使用 Fat jar 插件导出 j
  • 用零向左填充字符串[重复]

    这个问题在这里已经有答案了 我见过类似的问题here https stackoverflow com questions 388461 padding strings in java and here https stackoverflow
  • Java 似乎找不到我的本机库

    我正在尝试从我的 jar 中运行我的程序 名为 PViz jar 该 jar 位于一个目录中 其中包含所有依赖的 jar 以及它们所依赖的 so 文件 我使用的是 Mac OS X 当我运行此命令时 java cp PViz jar pvi
  • 从枚举返回计算值

    我的问题有两个而且很简单 按原样误解枚举 这个想法在我的代码中缺少一些重要的抽象 代码示例 其中oprt calc x y 无法编译 有警告cannot find symbol public enum Operation PLUS publ
  • java中应用程序的CPU核心数和线程数之间有什么关系?

    我是java新手多线程编程 我想到的问题是 根据我的数量 我可以运行多少个线程CPU核心数 如果我运行的线程超过CPU核心数机器运行应用程序会产生开销吗 例如 当我们有一台服务器计算机 其中有一个运行 2 个线程 主线程 开发人员线程 的服
  • JTable 使用行号?

    我正在创建一个程序 其工作原理如下Microsoft Excel 在JAVA中 我的问题是如何将行号放在每行旁边JTable 我已经看到它在其他 Java 程序中工作 我只是不知道如何将它包含在我的程序中 谷歌给了我这个网站 http ti
  • Scala - InvalidClassException:没有有效的构造函数

    我创建了一个Serializable番石榴的版本ImmutableRangeMap and Builder在 Scala 中以便在我的 Spark 应用程序中使用 我的构造函数中有一个零参数SerializableImmutableRang
  • Java 将字符串拆分为单词逗号和句号

    我一直在使用myString split s 得到每个单词 但现在我想把逗号和句号也分开 例如 妈妈总是说生活就像一盒巧克力 你永远不知道会得到什么 to Mama always said life was like a box of ch
  • 我在这个正则表达式中做错了什么?

    我正在做一个关于正则表达式的学校作业 我先解释一下 我必须编写一个正则表达式来检查 URL 我必须检查的条件是 URL 是 http s 还是 ftp s 域名是 nl 还是 edu 至少有一个第三级域名 但如果该域名以 万维网 必须有一个
  • Android 上为什么会出现线程泄漏?

    我在 Android 应用程序中注意到 每次退出主屏幕时 堆大小 泄漏 都会增加 ByteArrayOutputStream 的量 我能做到的最好的办法就是添加 this mByteArrayOutputStream null 在 的最后r
  • 如何安装“Android 支持库”以将 Gluon Mobile 应用程序部署到 Android?

    我想使用 Gluon Mobile 框架开发一个 Android 应用程序 我在 Netbeans IDE 中安装了 Gluon 插件 创建了一个示例项目并成功构建了它 现在我想将该应用程序部署到 Android 设备 我指的是在线文档 1
  • hibernate中映射到数据库表的bean的默认继承策略是什么?

    这是我在 stackoverflow 中的第一个查询 我想我正在提供所有必要的输入 我已经提供了我的 Java bean 和数据库表详细信息如下 Java Bean 类 import java sql Timestamp import ja
  • JDK1.6 中 ManagementFactory 的托管 Mbean - NotCompliantMBeanException:

    我使用 ManagementFactory 来获取 JDK1 5 和 JBOSS 4 X 中的 ManagedMbeans 现在想将我的相同代码移至 JDK 1 6 Mbean 部分中断并抛出异常 引起原因 javax management

随机推荐

  • 如何在 Python 中以列表形式返回字典键?

    使用Python 2 7 我可以获得字典keys values or items as a list gt gt gt newdict 1 0 2 0 3 0 gt gt gt newdict keys 1 2 3 使用 Python gt
  • setInterval() 相当于 ruby

    在 JavaScript 中你可以这样做 setInterval func delay 我似乎无法在谷歌上找到任何我真正想要的东西 红宝石有等效的吗 提前致谢 你可以做类似的事情 Thread new do loop do sleep de
  • 在C中查找子字符串在字符串中的位置

    这是一个接受的程序 来自用户的一句话 来自用户的话 如何找到输入的单词在句子中的位置 include
  • 从每个 UIWebView 请求中获取 http 响应代码

    我需要在加载 webview fo 中的任何 url 时检查响应状态代码 现在 我们可以考虑我在 Web 视图中加载的任何 Web 应用程序 因此 我需要跟踪该 Web 视图中的每个请求并相应地检查响应代码 为了查找响应代码 我需要在 ui
  • 无法加入交易

    我有问题 我已经在 Windows 中设置了 1 个 sql 服务器 SQL Server 2014 Express 并在另一台服务器的 Linux 中设置了 1 个 Oracle 数据库服务器 11g 现在我想通过链接服务器将数据从SQL
  • 改进 IntelliJ 注释(git Blame)

    我想改进 注释选项 右键单击代码行号冒号 gt 注释 它类似于 gitblame 但集成到 IntelliJ 1 这可能吗 通过插件或 IntelliJ 文件的原始修改 还有其他什么吗 2 我使用的是 Android Studio 基于 I
  • Rails 生成迁移

    我目前有一个名为 产品 的迁移 我只想在此迁移中添加更多字符串 例如描述和产品类型 做这个的最好方式是什么 class CreateProducts lt ActiveRecord Migration def change create t
  • 纹理大小的限制?安卓 Open GL ES 2.0

    我想知道可用于任何 Android Opengl Es 2 0 项目的纹理大小是否有任何限制 据我所知 尺寸为 4096x4096 的巨大纹理意义不大 因为它是在小屏幕上渲染的 但是 如果要求是在运行时在许多纹理之间切换怎么办 如果我想要一
  • Web 服务和 Windows 服务有什么区别?

    Web 服务和 Windows 服务有什么区别 我的经验主要是 Windows 服务 我从未创建过 Web 服务 Web 服务的行为与 Windows 服务类似吗 他们可以安排日程 在特定时间运行等吗 您何时会使用 Web 服务代替 Win
  • Java读取不同类型的图像格式jpg,tif,gif,png

    我正在尝试读取一些图像文件 jpg tif gif png 并需要保存文件并创建图标 我越来越UnsupportedTypeException ImageIO read file 如果我使用以下行 如前面在表格中讨论的那样 Buffered
  • 为什么我的 RSpec 规格运行两次?

    我在我的文件中定义了以下 RSpec 1 3 0 任务Rakefile require spec rake spectask Spec Rake SpecTask new spec do spec spec libs lt lt lib l
  • play 框架 - 如何让 play 接受 yaml 文件中的“null”值?

    我正在尝试从 YAML 文件加载数据 其中某些字段包含 空 值 当 Play Framework 尝试解析 null 值时 它会抛出以下异常 play exceptions YAMLException null mapping values
  • 为什么我的邮件发件人与我的发件人标头不同是可以接受的?

    关于 SPF 有件事一直困扰着我 为什么它不验证 From 标头 据我了解 SMTP 服务器将 SPF 验证 MAIL FROM 或 ENVELOPE FROM SMTP 命令期间提供的主机名 我的示例是从 telnet ing 到 gma
  • 如何通过使用程序(Java代码)运行Jmeter测试来在java代码中设置CSV文件?

    我之前曾问过如何在使用 java 程序运行 jmeter 测试后记录结果的问题 然后我自己得到了这个问题 所以我将分享该问题的链接和答案以供将来参考 所以这是链接 使用程序 JAVA 代码 运行 Jmeter 测试后如何保存结果集 http
  • VS2017 C# 默认程序集

    为了测试信号量类创建了示例 using System using System Threading class MyThread public Thread Thrd static Semaphore sem new Semaphore 2
  • 如何停止在图库小部件中滚动?

    我将一些图像加载到图库中 现在我可以滚动 但一旦开始滚动 滚动就不会停止 我希望图库滚动到下一张图像 然后停止 直到用户再次执行滚动手势 这是我的代码 import android widget ImageView import andro
  • 将唯一整数id分配给字符串的最有效方法?

    我编写的程序处理大量对象 每个对象都有自己唯一的id 它本身就是一个结构复杂 对象的数十个唯一字段通过一些分隔符连接起来 且长度很大的字符串 由于我必须快速处理很多这些对象 并且在处理时需要通过 id 引用它们 并且我无权更改它们的格式 我
  • 通过 JSR-223 执行动态 Java 代码

    我已经在我的应用程序中通过 JSR 223 执行动态代码有一段时间了 基本逻辑是 ScriptEngineManager scriptEngineManager new ScriptEngineManager ScriptEngine sc
  • 过去 24 小时内最流行的 PHP MySQL 查询

    假设我想获得过去 24 小时内点赞最多的 10 条记录 这是我到目前为止所拥有的 date date o m d query SELECT date created COUNT to from to FROM likes WHERE dat
  • Java 使用标签打印机打印到特定页面尺寸

    我正在尝试使用标签打印机 具体来说是EPSON TM T88V 来吐出PNG图像 我可以让它打印得很好 除了当我打印图像尺寸 再次具体说明为 72dpi 时为 220x175 时 打印的图像顶部有一团空白 我认为这是浪费纸张 关于如何最大限