gpt4 book ai didi

java - 无法以正确的分辨率打印

转载 作者:行者123 更新时间:2023-11-30 11:54:06 26 4
gpt4 key购买 nike

我正在尝试使用 xhtmlrenderer 和 java 打印来打印标签。但是,我似乎无法正确设置分辨率,因此打印出来的图像非常尖锐。这是我的打印代码:

val paperWidth = 62.0f
val paperHeight = 70.0f
def print(printable: Printable) {
val printJob = PrinterJob.getPrinterJob
printJob.setPrintService(printService)

val pageFormat = printJob.defaultPage
pageFormat.setOrientation(PageFormat.LANDSCAPE)
val labelPaper = pageFormat.getPaper
labelPaper.setImageableArea(mm2points(0f), mm2points(0f), mm2points(paperWidth), mm2points(paperHeight))
labelPaper.setSize(mm2points(paperWidth), mm2points(paperHeight))
pageFormat.setPaper(labelPaper)

val book = new Book
book.append(printable, pageFormat)
printJob.setPageable(book)

val attributeSet = new HashPrintRequestAttributeSet
attributeSet.add(new PrinterResolution(300, 300, ResolutionSyntax.DPI))
printJob.print(attributeSet)
}

...这是我的生成代码:

def apply(url:URL):Printable = {
val renderer = new XHTMLPanel(UserAgent)
renderer.getSharedContext.setDPI(300f)
renderer.getSharedContext.setUserAgentCallback(UserAgent)
renderer.getSharedContext.setCss(new StyleReference(UserAgent))
renderer.setDocument(url.toExternalForm)
new XHTMLPrintable(renderer)
}

我不知道这里缺少什么。我尝试在 xhtmlrenderer 源和打印机目标上设置 dpi,但似乎没有任何影响。

顺便说一句:我正在尝试在 Mac OS X 上的 Brother QL-560 上打印。我能够以相同的尺寸以非常好的质量从预览中打印相同的图像。

更新:添加了图像示例。 Difference between print from Mac Preview and java print api

更新:使用 xhtmlrenderer 创建 pdf,然后通过 pdf-renderer ( http://java.net/projects/pdf-renderer/) 打印就成功了。现在打印完美了。

最佳答案

没有例子很难说出问题是什么。例如,您尝试打印哪张图像?它有什么分辨率?

为了确保它不是打印机驱动程序,我建议打印成 PDF。这有帮助吗?

如果不是:将预览打印为 PDF。那看起来怎么样?放大时会发生什么?

关于java - 无法以正确的分辨率打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com