草庐IT

打印室

全部标签

java - 打印成物理形式——需要基本的理解

我不太确定我理解g.drawString。我有一个程序可以写入预印表格。用户声称打印不规则……即表格上的文本高于/低于之前的打印。就个人而言,我认为他们错误地加载了表单,但由于他们付钱让我编写代码,我正在测量表单并将尺寸转换为像素并重写处理打印的部分。要正确打印表格,c.getCostAmount()必须打印在c.getAppraisersAmount()上方一个像素,以便它出现在它下方一行。然而,每条后续线都比它低4毫米(或大约15个像素)。我的问题是我不明白垂直距离,也不知道为什么第3行必须比前一行高一个像素才能位于下方。有人有快速简单的解释或指向教程/解释的链接吗?非常感谢!代码

java - 如何在 JasperReport 中将打印顺序设置为 "horizontal"时自动拉伸(stretch)细节带?

我有一个水平打印的主报告。它有5列。我想在每一列上放置一个子报告。所以我创建了这个:子报表是这样的:问题是,当我运行时出现以下异常:net.sf.jasperreports.engine.JRRuntimeException:Subreportoverflowedonabandthatdoesnotsupportoverflow.当其中有子报表并且打印顺序设置为水平时,jasper报表似乎无法垂直拉伸(stretch)详细信息带。我该怎么做才能避免这个错误并实现我想要的? 最佳答案 我找到了这个问题的解决方案。经过深入搜索,我发现遗

java - 如何在没有用户交互的情况下将 pdf 打印到特定托盘

我正在尝试设置一项在夜间运行的服务,以自动将一堆发票和其他文档打印到一堆打印机上。截至目前,我可以很好地打印文档,但我需要能够指定一个托盘(一个带有我们公司的信笺,一个带有库存白皮书)到目前为止我尝试过的一切都没有用,我指定PrintRequestAttribute集中的MediaTray属性,但似乎没有任何作用。任何人都有过这样的经历吗?我当前用于测试的代码如下所示。//CreateaPDFFilefromaFilereferenceFilef=newFile("C:\\File.pdf");FileInputStreamfis=newFileInputStream(f);FileC

Java 打印 - 在少数打印机上放大打印输出

在某些打印机上,无论出于何种原因,当通过JavaJVM(Java7)打印时,打印输出会自动放大,似乎是默认设置。这似乎与旧打印机有关,而且非常罕见,但不止一种打印机型号会发生这种情况。升级驱动程序也不能解决问题。该软件使用JFreeReport(经典引擎)库,使用该库导出为PDF时,一切都很棒。使用库的打印预览也很完美。然而,当涉及到打印时,而且这只是极少数打印机的情况,打印输出会被放大。它们没有放大,但字体要大得多且间距不当,因此它们彼此重叠。这些带有JDK6的相同打印机似乎工作正常。看来,我仍在尝试隔离问题。我的想法是这些打印机可能无法正确支持Java7更新:我找到了thisthr

java - 有没有办法打印功能界面?

假设我有一个接口(interface):publicinterfaceFunction{doublefunction(doubleinput);}现在,假设我已经在我的主类中的某处创建了这个接口(interface)的一个实例,Functionf=(x)->x;我怎样才能以纯文本打印这个函数?所以,有点像这样:intf(doublex){returnx}在此Function上运行.toString会打印类似Main$1@6d06d69c的内容。我怎样才能获得这个接口(interface)的java表示? 最佳答案 请记住,函数的文本

java - 哪个 JVM 打印出这样的线程转储?

我习惯于看到如下所示的Java线程转储,这是由SunHotSpotJVM及其衍生产品(例如OpenJDK)生成的线程转储:"main"prio=10tid=0x00007f4020009000nid=0x538cinObject.wait()[0x00007f402891f000]java.lang.Thread.State:WAITING(onobjectmonitor)atjava.lang.Object.wait(NativeMethod)-waitingon(ajava.lang.Object)atjava.lang.Object.wait(Object.java:503)at

java - 如何将 jaxb 打印到 java 对象到记录器中

您好,通过以下链接,我可以将JAXB转换为java对象,并使用以下语句在控制台中打印它。http://www.mkyong.com/java/jaxb-hello-world-example/jaxbMarshaller.marshal(customer,System.out);但我想在记录器中打印输出。例如)log.info(客户)或log.debug(客户)我正在使用Apachelog4j。有人知道吗?? 最佳答案 下面是一种可能的方式..Customercustomer=newCustomer();//setcustomera

java - 使用 log4j 包装器在日志语句中打印 "source"类

我的应用程序有一个自制的日志记录类,我正在迁移到在幕后使用log4j。但是,由于我使用homebrew类将应用程序的其余日志记录语句传递给log4j,因此输出语句被记录为来自包装类而不是源类。除了为每个日志语句创建新的org.apache.log4j.Logger实例之外,是否有办法确保显示“正确”的来源?我也尝试过使用Logger.log(StringcallerFQCN,Prioritylevel,Objectmessage,Throwablet)方法,但它似乎不起作用,例如:publicclassLogger2{publicstaticorg.apache.log4j.Logge

java - Logback 用法和打印列表

我开始使用logback,我想知道是否有更好的方法来做某事。我有这段代码:publicclassClassA{privateListl;privateLoggerlogger;publicClassA(){this.logger=LoggerFactory.getLogger(this.getClass().getName());}....publicListmethod(){this.logger.debug("method()");Listnames;try{names=otherClass.getNames();}catch(Exceptione){Stringmsg="Erro

打印机忽略的 javax.print.attribute.PrintRequestAttributeSet 选项

我必须使用javax.printapi打印文件(纯文本)。我能够查找打印机并提交打印作业。但我只能打印一份文件。以下是我一直在使用的代码。打印机无法识别我使用PrintRequestAttributeSet指定的任何选项/属性。虽然我指定打印2份,但打印机只打印一份。我在这里做错了什么吗?使用的打印机:佳能iR5050PCL6包com.print;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.InputStream;importjavax.print.Doc;importj