JavaFX - 以编程方式设置目标路径以直接将节点打印到 pdf 文件

2024-04-13

我想使用“Microsoft Print to PDF”打印机将节点打印到 pdf 文件。假设 Printer 对象已经被提取,我有下一个功能,该功能运行良好。

public static void printToPDF(Printer printer, Node node) {

    PrinterJob job = PrinterJob.createPrinterJob(printer);
    if (job != null) {
        job.getJobSettings().setPrintQuality(PrintQuality.HIGH);

        PageLayout pageLayout = job.getPrinter().createPageLayout(Paper.A4, PageOrientation.PORTRAIT,
                Printer.MarginType.HARDWARE_MINIMUM);

        boolean printed = job.printPage(pageLayout, node);
        if (printed) {
            job.endJob();
        } else {
            System.out.println("Printing failed.");
        }
    } else {
        System.out.println("Could not create a printer job.");
    }
}

我在这里遇到的唯一问题是弹出一个对话框并询问保存 pdf 的目标路径。我正在努力寻找以编程方式设置路径的解决方案,但没有成功。有什么建议么?先感谢您。


经过更多研究后,我得到了一个丑陋的黑客。我从 PrinterJob 访问了 jobImpl 私有字段,并从中取出了属性。因此,我插入了目标属性,显然它正在按要求工作。我知道这不太好,但是……是可行的。如果您有更好的建议,请随时发布。

         try {
            java.lang.reflect.Field field = job.getClass().getDeclaredField("jobImpl");
            field.setAccessible(true);
            PrinterJobImpl jobImpl = (PrinterJobImpl) field.get(job);
            field.setAccessible(false);

            field = jobImpl.getClass().getDeclaredField("printReqAttrSet");
            field.setAccessible(true);
            PrintRequestAttributeSet printReqAttrSet = (PrintRequestAttributeSet) field.get(jobImpl);
            field.setAccessible(false);

            printReqAttrSet.add(new Destination(new java.net.URI("file:/C:/deleteMe/wtv.pdf")));
        } catch (Exception e) {
            System.err.println(e);
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaFX - 以编程方式设置目标路径以直接将节点打印到 pdf 文件 的相关文章

  • 仅打印 drupal field_view_field 值

    我使用下面的代码将节点字段打印到特定区域 效果很好 但有一个例子 我只想打印没有标签的字段值 看起来应该很容易 但我遇到了一些麻烦 我很感激任何帮助 因为我对 drupal 还很陌生 谢谢 field view value 需要一个 dis
  • 如何使用 Java 11 和 JavaFX 11 运行 ControlsFX 示例应用程序

    ControlFX 网站 http fxexperience com controlsfx says 如果您想使用 ControlsFX 示例应用程序 只需 下载 ControlsFX 版本并在上运行以下命令 命令提示符 请务必将 替换为实
  • 如何使 AnchorPane 大小响应最大化的屏幕视图

    我不知道什么是灰色地带以及如何扩展我的Anchorpane到整个屏幕Image https i stack imgur com m5HqA png 不是未最大化的视图是这样的image2 https i stack imgur com 14
  • JavaFX中如何获取鼠标位置?

    我是java fx 的初学者 如何在 JavaFX 中获取鼠标在 x 和 y 中的位置 我尝试使用 AWTMouseInfo 也导入了它 但它不起作用 我还在 Ensembles 中看到了它的代码 在 高级阶段 拖动球窗口 这就是我需要做的
  • DPI 图形屏幕分辨率像素 WinForm PrintPageEventArgs

    对于运行我的应用程序的任何显示器 Dpi 点与像素有何关系 int points Screen primary public Form1 InitializeComponent points 1 primary null void OnPa
  • 使用什么来生成包含动态生成的条形码的 pdf 文档(Java)?

    我的要求要求生成包含任意文本和条形码的 pdf 文档 我有相关的question https stackoverflow com q 6625849 59470它解决了pdf生成部分 但在这里我想知道如何在Java中将条形码合并到pdf中
  • 如何让 PDF 内容(由 Spring MVC 控制器方法提供)显示在新窗口中

    我是 Spring MVC 的新手 但它的功能给我留下了深刻的印象 我正在使用 3 1 0 RELEASE 并且我必须显示 PDF 来响应 form form 提交 这是我在控制器中编写的 小 代码 RequestMapping value
  • iTextSharp 从 WPF 固定文档生成 PDF

    我有一个简单的 WPF 应用程序 可以显示和打印一些内容 使用固定文档进行报告 如何使用免费且开放的解决方案从中生成 PDF 比如iTextSharp WPF 固定文档 也称为 XPS 文档 是对 PDF 的明显改进 它具有 PDF 所缺乏
  • 使用 TCPDF PHP 库横向显示的图像

    我正在使用 TCPDF PHP 库生成包含照片的 PDF 文档 由于某种原因 某些照片在我的计算机和网络上正确显示 但当我将该图像放入 PDF 中时 它似乎是横向的 这只发生在某些图像上 大多数图像显示正确 下面是在 PDF 中横向显示的示
  • Linux:命令行实用程序将 RTF 转换为 PDF?

    有什么建议可以将 RTF 转换为 PDF 吗 我需要从 LAMP 应用程序执行此操作 因此像 GhostScript 这样的命令行实用程序将是理想的选择 或者 您可以使用 libreoffice 来完成此任务 libreoffice hea
  • 如何使用回形针对多页 pdf 进行缩略图

    我想让 Paperclip 为上传的多页 PDF 文件的每一页创建 2 个缩略图 我正在运行 Paperclip 2 3 1 1 并在我的资产模型中使用它 has attached file asset styles gt medium g
  • JavaFX - Outlook 附件 - DnD

    您好 我需要一个 DnD 解决方案来将 Outlook 邮件附件拖到堆栈窗格中 JavaFX Outlook 2010 stackpaneDragAndDropZone setOnDragOver DragEvent event gt Dr
  • 从剪贴板获取图像 Awt 与 FX

    最近 我们的 Java FX 应用程序无法再从剪贴板读取图像 例如 用户在 Microsofts Paint 中选择图像的一部分并按复制 我不是在谈论复制的图像文件 它们工作得很好 我很确定它过去已经有效 但我仍然需要验证这一点 尽管如此
  • JavaFx 中装饰且不可移动的舞台

    我想在 JavaFx 中创建一个装饰舞台 它也将不可移动 我正在从另一个控制器类创建这个阶段 我能够创造和展示舞台 但它是自由移动的 我怎样才能创建这个 非常感谢帮助和建议 我把打开新关卡的方法贴出来 private void addRec
  • 以编程方式识别 PDF 文件中的扫描文本 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 PDF 文件 其中包含我们需要导入数据库的数据 这些文件似乎是打印的字母数字文本的 pdf
  • 如何根据 JavaFX 8 中的特定祖先获取节点边界?

    我在 AnchorPane 中添加了一个图表 我想获取其绘图的范围 图表 我用青色标记 这样我就可以在它上面添加一些文本 但我应该根据它的祖先知道它的确切边界 如果我手动执行此操作 则在调整大小等时更改节点的填充大小时 我可能会失败 imp
  • itextsharp读取表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用 itextsharp 创建了一个带有表格的 pdf 我找到了一个例子http itextsharp sourceforge n
  • 创建仅在使用 PDFBox 打印时显示的水印(pdf 可选内容)

    我遇到过许多使用 PDFBox Layer Utility 的appendFormAsLayer 方法的示例 如下所示 Places the given form over the existing content of the indic
  • 如何在 JavaFX 中连接可观察列表?

    我所说的串联是指获得一个新列表 该列表侦听所有串联部分的更改 方法的目的是什么FXCollections concat ObservableList
  • 使用 ImageMagick 和/或 GhostScript 将多页 PDF 转换为多个 JPG

    我正在尝试将多页 PDF 文件转换为一堆 JPEG PDF 中的每一页一个 我花了几个小时寻找如何做到这一点 最终我发现我需要安装 Ghostscript 所以我就这么做了 来自这个网站 http downloads ghostscript

随机推荐

  • 如何找到一个向量中与另一个向量最接近的值?

    我有两个大小相等的向量 例如 A 2 29 2 56 2 77 2 90 2 05 and B 2 34 2 62 2 67 2 44 2 52 我有兴趣在两个相同大小的向量 A 和 B 中找到最接近的值 几乎相等 即在 A 中的所有元素中
  • Zend 框架 website.com/username

    我正在使用 Zend Framework 开发的应用程序之一要求通过 website com username 访问用户的个人资料页面 而其他页面应通过 website com controller name action name 访问
  • 当从 DataTemplateSelector 显式返回 DataTemplate 时,为什么 DataTemplate 无法绑定到接口?

    我创建了一个 DataTemplateSelector 它是使用一组已知接口进行初始化的 如果传递到选择器的项目实现了这些接口之一 则返回关联的数据模板 首先 这是有问题的 ICategory 接口 public interface ICa
  • 使用 T-SQL Merge 语句时如何避免插入重复记录

    我尝试使用 T SQL 的 MERGE 语句插入许多记录 但当源表中存在重复记录时 我的查询无法 INSERT 失败的原因是 目标表有一个基于两列的主键 源表可能包含违反目标表主键约束的重复记录 抛出 违反主键约束 我正在寻找一种方法来更改
  • 如何在 UML 类图中表示“事件”?

    这是我的代码片段 public class Notation INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged private N
  • Perl:查找并替换多个文本文件中的特定字符串

    我需要获取给定目录中的所有 config 文件 并且在每个文件中我需要搜索特定字符串并根据该文件替换为另一个字符串 例如 如果给定目录中有 3 个文件 for my foo config string to search fooCommon
  • Express 3错误中间件未被调用

    我正在尝试为我的 Express 应用程序设置错误处理并遇到以下问题 我定义了一个错误中间件并将其添加为最后一个中间件 error handler app use function err req res next console log
  • Angular 2 - 在下拉列表中设置所选值

    我在 Angular 2 的下拉列表中预选择值时遇到了问题 我在组件中设置了一个颜色数组 并将其成功绑定到下拉列表 我遇到的问题是在页面初始化上预先选择一个值 线路 selected car color id x id 应该选择已在车型上设
  • 元件之间的聚合物通讯

    我想通过聚合物元素实现子父级之间的通信 这是我的index html
  • T-SQL:带有标识列的 CTE

    我正在构建一棵树 物料清单样式 并转换一些数据 考虑下表 材料清单 BomId ParentId 现在我使用 CTE 来填充它 with BOM as select identity as BomId null as ParentId
  • Windows XP 中的 Internet Explorer 8

    我亲眼目睹了 Internet Explorer 8 IE8 在 Windows XP 中的表现以及在 Windows Vista 7 中的表现 非常奇怪的是 对于 CSS 和 JavaScript 的某些方面 也许对于其他元素也是如此 I
  • android studio 2.2.1 无法解析符号 *

    我过去使用android studio 2 1 1 昨天我下载了android studio 2 2 1 但发现无法解析符号错误 现在我使用android studio 2 1 1 一切正常 我已经尝试过 1 File gt Invalid
  • WordPress 使用 GD 图像引擎以编程方式将图像转换为 WebP 格式

    有许多 PHP 解决方案和 WP 插件 它们都带有我不想要 不需要的附加选项 即如何提供转换后的文件 存储它们的位置等 我不需要所有这些 并且正在寻找使用 GD 的纯简单代码 我不想使用插件 谢谢 编码应该什么时候发生 任何时候你知道这是钩
  • 实体框架“意外的连接状态”异常

    经过三个小时的调试和搜索 我希望这里有人能找到答案 如果我连续快速调用以下函数 例如间隔 System InvalidOperationException 意外的连接状态 使用包装提供程序时 请确保在包装的 DbConnection 上实现
  • 错误:错误域=NSURLErrorDomain代码=-1001“请求超时。”

    我正在 Xcode 6 1 iOS 8 1 中开发一个应用程序 该应用程序直到 2 天前都工作得很好 但今天当我执行它时 我在网络服务中遇到了错误 错误打印在下面 错误 错误域 NSURLErrorDomain代码 1001 请求计时 出
  • 如何使用 Java 8 可选,在三个都存在的情况下执行操作?

    我有一些使用 Java 可选的 简化的 代码 Optional
  • SSRS 计算行组和列组的计数

    我正在构建案例结果报告 其中对行组和单列分组进行父子分组 Parent Row Group Location 子行组 结果 列组 月份 报告中贯穿的是一年中的月份 报告中贯穿的是位置以及给定月份中该位置的不同结果细分 看起来像这样 Jan
  • Twitter API:获取关注者 +99

    使用 twitter API 和 OAuth 如果我要调用用户关注者 状态 关注者 我将仅返回 99 个结果 有没有办法让我返回 99 然后从关注者 100 开始再次调用 然后循环这种调用方式 直到返回关注者总数 或者只是返回所有关注者 您
  • Android 日历视图 - 将滚动方向更改为垂直

    我在导航抽屉内的应用程序中使用日历视图来选择不同的日期 除了在日历视图上向左滑动以到达下个月 向右滑动正确更改上个月 之外 一切正常 因为这是关闭抽屉的滑动手势 是否可以将日历的滚动方向更改为垂直而不是水平 我想实现这一点 这样用户就不必严
  • JavaFX - 以编程方式设置目标路径以直接将节点打印到 pdf 文件

    我想使用 Microsoft Print to PDF 打印机将节点打印到 pdf 文件 假设 Printer 对象已经被提取 我有下一个功能 该功能运行良好 public static void printToPDF Printer pr