相关文章推荐
悲伤的冰棍  ·  vue-router ...·  1 年前    · 
博学的领带  ·  Antd DatePicker ...·  1 年前    · 
var pdfForm = document.getElementById("pdf"); 说明:doPrint是一个数组,里面保存了需要打印的pdf的路径(doPrint修改成你需要打印的pdf文件的路基即可) for(var i=0;i 之前碰到前端 调用 打印机 的小众需求,看 npm 上面没有类似的库,所以顺便抽取出了 调用 打印机 的库 livelybone/call-printer​github.com实现功能:1. 实现 打印机 调用 2. 快速自定义 打印 内容......难点:1. 对应浏览器 API 是什么?如何使用?2. 确保样式符合预期浏览器核心 APIwindow.print() js 调用 打印机 的两种方式 直接 调用 window....
pdf print_cmd是国外的一款批量 pdf 打印 工具,当时使用他的目的是实现物流 打印 快递单,批量快速 打印 ,不依赖adobe 直接 打印 ,支持多种 文件 格式 打印 ,将 PDF 文件 打印 到物理 打印机 ,纸张大小可以选择标准纸张或用户定义的纸张,此版本删除水印!花几百美金买的永久版 支持下列格式: pdf 文档格式[ PDF ] OpenOffice 文件 [。ODT,OTT,ODG,。。。ODP,ODS ]。 MS Word文档[ .doc .docx,RTF,TXT,XML ]。 MS PowerPoint 文件 [。PPT。pptx,。PPS,格式]。 MS Excel 文件 [。XLS,XLSX,xlsm ]。 HTML 文件 [ .htm,.html,.mht,MHTML ]。 矢量图形格式[。WMF、EMF ]。 图像格式[。BMP,JPG,JPEG,TIF,。。。TIFF,GIF,PNG,ICO ]。 图像格式[。TGA。JP2,J2K,JPC,。。。JPX,PBM、PGM、。。。ppm,PNM ]。 import javax.print.*; import javax.print.attribute.*; import javax.print.attribute.standard.*; public class Print PDF { public static void main(String[] args) throws Exception { String filename = "example. pdf "; // Step 1: use PDF renderer to render PDF to image PDF Renderer renderer = new PDF Renderer(new File(filename)); BufferedImage image = renderer.renderImage(0); // Step 2: print image to printer PrinterJob job = PrinterJob.getPrinterJob(); PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); if (services.length > 0) { PrintService printService = services[0]; job.setPrintService(printService); job.setPrintable(new ImagePrintable(job, image)); job.print(); class ImagePrintable implements Printable { private final double x, y, width; private final BufferedImage image; public ImagePrintable(PrinterJob job, BufferedImage image) { PageFormat pf = job.defaultPage(); this.x = pf.getImageableX(); this.y = pf.getImageableY(); this.width = pf.getImageableWidth(); this.image = image; public int print(Graphics g, PageFormat pf, int pageIndex) { if (pageIndex != 0) { return NO_SUCH_PAGE; Graphics2D g2d = (Graphics2D) g; g2d.translate(x, y); double scaleX = width / image.getWidth(); g2d.scale(scaleX, scaleX); g2d.drawImage(image, 0, 0, null); return PAGE_EXISTS; 这个示例代码包含了以下步骤: 1. 使用 PDF 渲染库将指定的 PDF 文件 渲染为图像。 2. 使用Java 打印 库获取可用 打印机 列表并选择第一个 打印机 。 3. 将图像 打印 打印机 上。 注意:在运行这个示例代码的时候,需要将 PDF 渲染库和 PDF 文件 的路径替换为实际的路径。 ### 回答2: 在Java中, 调用 打印机 打印 PDF 文件 可以通过使用第三方库或者Java内置的类库来实现。 一种常用的方法是使用第三方库,例如Apache PDF Box。以下是使用Apache PDF Box库进行 PDF 打印 的示例代码: ```java import org.apache. pdf box.pdmodel.PDDocument; import org.apache. pdf box.printing. PDF Pageable; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Copies; public class PDF Printer { public static void print PDF (String filePath) { try { PDDocument document = PDDocument.load(new File(filePath)); PrintService printService = PrintServiceLookup.lookupDefaultPrintService(); PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet(); attributeSet.add(new Copies(1)); // 设定 打印 份数 PrinterJob job = PrinterJob.getPrinterJob(); job.setPageable(new PDF Pageable(document)); job.setPrintService(printService); job.print(attributeSet); document.close(); } catch (Exception e) { e.printStackTrace(); public static void main(String[] args) { String filePath = "path/to/ pdf /file. pdf "; print PDF (filePath); 上述代码首先使用 PDF Box库加载 PDF 文件 ,并获取默认的 打印 服务。然后,创建 打印 任务,并设置 打印 参数,例如 打印 份数。最后,将 PDF 文件 作为可 打印 页面 ,将 打印 服务绑定到 打印 任务上,并执行 打印 操作。 除了使用第三方库外,还可以使用Java内置的类库实现 PDF 打印 。具体方法是使用Java的Desktop类,通过系统默认应用程序打开 PDF 文件 并进行 打印 。以下是使用Desktop类进行 PDF 打印 的示例代码: ```java import java.awt.Desktop; import java.io.File; public class PDF Printer { public static void print PDF (String filePath) { try { Desktop desktop = Desktop.getDesktop(); desktop.print(new File(filePath)); } catch (Exception e) { e.printStackTrace(); public static void main(String[] args) { String filePath = "path/to/ pdf /file. pdf "; print PDF (filePath); 上述代码中,我们首先获取系统默认的桌面,然后使用桌面的print方法来 打印 PDF 文件 。请确保系统已配置默认的 PDF 应用程序,否则 打印 功能可能无法正常工作。 无论是使用第三方库还是Java内置类库,以上两种方法都能实现Java 调用 打印机 打印 PDF 文件 的功能。 ### 回答3: Java 调用 打印机 打印 PDF 可以通过使用Java Print API来完成。Java Print API提供了一种在Java程序中与 打印机 进行交互的方式。 首先,我们需要确保计算机已经安装了合适的 PDF 打印机 驱动程序。例如,Adobe Acrobat Reader通常会安装一个虚拟 打印机 驱动程序。 然后,我们可以使用Java的PrintServiceLookup类来获取可用的 打印机 列表,并选择需要的 打印机 。 接下来,我们可以使用 PDF Box等Java库来加载和处理 PDF 文件 PDF Box是一个开源库,可以用于处理 PDF 文件 ,包括读取、创建和 打印 PDF 文件 。 在加载了 PDF 文件 后,我们可以使用PrinterJob类来创建 打印 作业。PrinterJob类提供了各种方法来设置 打印 作业的属性,例如 打印机 、纸张类型、 页面 方向和 打印 份数等。 一旦设置完 打印 作业的属性,我们可以 调用 PrinterJob的print方法来进行实际的 打印 操作。这将会将 PDF 文件 发送给选择的 打印机 进行 打印 。 如果需要更复杂的 打印 操作,例如 打印 页面 范围或设置 打印 监听器,我们可以进一步使用PrintRequestAttributeSet和PrintService等类来实现。 总之,通过Java Print API和适当的 打印机 驱动程序,我们可以方便地使用Java 调用 打印机 打印 PDF 文件 我是菜鸡但我不服: 我这里总是报文件Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: E:\pdf (拒绝访问。) 明明有这个文件夹 java将多个pdf文件合并成一个pdf文件 da鹏鹏: 将clob转换为两个pdf文件就行了吧,然后就可以按照这种方式合并了 java将多个pdf文件合并成一个pdf文件 火舞旋风@: 如果是从数据库不同表里取出的2个PDF(clob)合并成一个呢,怎么处理,楼主有方法吗 java将多个pdf文件合并成一个pdf文件 da鹏鹏: 已经重新发布