Tag: printing

Java Print API – 使用等宽的“Courier New”字体错误地打印空格字符

我先来描述下图: 有两份印刷纸。 它们之间的唯一区别是左边纸张中的空格“”字符很少被点“替换”。 右边的文字中的人物。 红线表示文本应对齐的左边框 绿色曲线表示我打算将它连接的所有字符对齐到一个列中。 事实上,绿色曲线应该是一条垂直线。 我希望绿线突出显示的所有字符都打印在一列中。 String的字体是monospaced Courier New。 但是,似乎空格字符不会打印为等宽字体(请参阅“虚线”线与开头的空格字符行)。 要打印字符串,我在JTextPane组件上使用标准Java Print Service API: PrinterJob pj = PrinterJob.getPrinterJob(); pj.setPrintable(myTextPane); pj.print(); 据我所知,Java Print Service API实际上调用了myTextPane的paint()方法。 因此,预览应与String的打印版本完全相同。 但事实并非如此。 预览似乎没有误解等宽空间字符(参见最后一张图)。 预览看起来与我想要打印的文本完全相同。 有关如何强制JavaPrintServiceAPI正确打印等宽空格字符的任何建议吗?

带有spring MVC的JasperReport:在客户端打印报告而不显示它

我正在开发一个Spring MVC – Angularjs应用程序。 我需要打印报告,我选择了JasperReport来做到这一点。 在我继续之前,我想知道我是否可以生成报告,然后将其直接打印在客户端计算机上设置的默认打印机(可根据用户更改的打印机) 上 , 而不在屏幕上显示。 我一直在寻找这个特定需求的答案,但找不到任何答案。 如果有人知道它…. 生成报告并打印它的来源: HashMap params = new HashMap(); params.put(“Title”, “My Report”); InputStream reportStream = this.getClass().getResourceAsStream(TEMPLATE); JasperDesign jd = JRXmlLoader.load(reportStream); JasperReport jr = JasperCompileManager.compileReport(jd); JasperPrint jp = JasperFillManager.fillReport(jr, params, datasource.getDataSource()); JasperPrintManager.printReport(jp, false);

iText直接打印

我正在使用iText生成pdf并将其写入文件系统,如下所示: private void createPDF() throws Exception{ com.itextpdf.text.Document doc = new com.itextpdf.text.Document(); PdfWriter docWriter = null; path = “C:\\PATH\\TO\\Desktop\\EXAMPLE_FOLDER\\” + pdfFilename; docWriter = PdfWriter.getInstance(doc, new FileOutputStream(path)); doc.addTitle(“Invoice”); doc.setPageSize(PageSize.A4); doc.open(); PdfContentByte cb = docWriter.getDirectContent(); fillPDFDetails(cb); if (doc != null) { doc.close(); } if (docWriter != null) { docWriter.close(); } } 但是,我想将pdf发送到打印机并打印pdf文件,而不是将其写入文件系统。 我怎样才能做到这一点?

从JTable打印选定的行

我正在制作一个java swing应用程序,我也是一个新手程序员(1年半的编程)。 我试图在一个按钮内部编码一种方式来打印(在打印机中,而不是在控制台中)jTable的预选行(由用户),该jTable之前已通过Query打印(在窗口中)。 这是我的代码(在按钮内),我知道这是故事。 我想,这样做的方法是在一个临时jTable中复制所有选中的行,然后打印temp jTable,但我无法实现这一点。 MessageFormat header = new MessageFormat(“- {TABLE} -“); try { DefaultTableModel viewModel = (DefaultTableModel) jTable.getModel(); DefaultTableModel printModel = new DefaultTableModel(viewModel.getRowCount(), viewModel.getColumnCount()); JTable toPrint = new JTable(printModel); int[] selectedRows = jTable.getSelectedRows(); for (int r=0;r<selectedRows.length;r++){ toPrint.addRowSelectionInterval(r, r); } toPrint.print(JTable.PrintMode.FIT_WIDTH,header,null); } catch (java.awt.print.PrinterException e1) { System.err.format("Cannot print %s%n", e1.getMessage()); } 总而言之,我只想打印(在打印机中)现有jTable的选定行。 我也试过这个 – […]

用Java打印BufferedImage

有谁知道如何用Java打印BufferedImage?

截断的JTable打印输出

我有一个使用JTextArea作为其TableCellRenderer的JTable,因此表格单元格可以使用自动换行。 JTable显示正常。 当我通过JTable的打印方法将表打印到打印机时,输出总是截断大约60%的数据。 我尝试过不同的计算机和不同的打印机,以及不同的打印机驱动程序,不同的JVM版本(1.5,1.6),但这些都没有帮助。 下面是一个自包含的Java主类,可以重现该问题。 有任何想法吗? import java.awt.*; import java.awt.event.*; import java.awt.print.*; import java.util.*; import javax.swing.*; import javax.swing.table.*; public class JTextAreaJTableTest extends javax.swing.JFrame { public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { JTextAreaJTableTest frame = new JTextAreaJTableTest(); frame.setSize(640, 480); frame.setLocationRelativeTo(null); frame.setVisible(true); } }); } JButton jButtonPrint; JScrollPane jScrollPane; JTable jTable; […]

PDFBox:如何使用指定的打印机打印pdf?

我想使用PDFBox打印由iText创建的PDF文件 。 我已经使用PDDocument类及其方法print()成功地尝试了这个。 您可以在此处找到文档: http : //pdfbox.apache.org/apidocs/ 。 (我正在使用此代码:) public static void printPDF(String fileName) throws IOException, PrinterException { PDDocument doc = PDDocument.load(fileName); doc.print(); } 方法print()效果很好,但有一个问题:当我需要打印多个文件时,该方法要求我为每个文件选择打印机。 有没有办法如何只设置一次打印机? 对于打印机选择,我可以使用此代码,例如: public static PrintService choosePrinter() { PrinterJob printJob = PrinterJob.getPrinterJob(); if(printJob.printDialog()) { return printJob.getPrintService(); } else { return null; } } 提前致谢 解: public static PrintService choosePrinter() { PrinterJob […]

从Java内部无声打印PDF

我们正在研究从Java内部静态打印PDF文档。 打印将从桌面调用,而不是通过浏览器调用,因此我们无法使用JavaScript。 PDF Renderer是一种可操作的解决方案,但它们的渲染质量是不可接受的。 iText似乎不能与Java打印服务一起插件。 有一些商业Java库,Qoppa的jPDFPrint,JPedal和ICEpdf,我们还没有尝试过。 有没有人有从Java静态打印的经验?

如何在标题中打印带有图像的jtable?

我想打印这样的东西 图片 标题 JTable中 我知道在messageFormat标题中打印带有标题的jtable,但我不知道如何添加图像 图像是徽标

如何以编程方式实现正常Windows打印队列’假脱机文件’的假脱机文件标题的编辑,然后才能将其发送到打印机?

如何在执行打印作业期间将此文件发送到打印机之前,如何拦截和更改Windows 7打印假脱机文件(.SPL)以在标题中添加一些附加信息,如’@PJL SET NAME =“PainPoint”’ 从顶部开始的.SPL文件部分提取是: %-12345X@PJL SET STRINGCODESET=UTF8 @PJL COMMENT DATE=02/08/2017 @PJL ENTER LANGUAGE=PCLXL ) HP-PCL XL;2;1;FXXPL2-1.0.0,WINNT-6.1,XPL2DRV-6.9.1.1 ?X???……..