【发布时间】:2015-02-10 20:00:14
【问题描述】:
当我正在开发一个应用程序时,是否可以将 jar 文件与 pdf 合并,如果他们想下载我的 PDF 文件,我希望人们使用该应用程序。
【问题讨论】:
当我正在开发一个应用程序时,是否可以将 jar 文件与 pdf 合并,如果他们想下载我的 PDF 文件,我希望人们使用该应用程序。
【问题讨论】:
如果您的意思是要在 .pdf 中嵌入 jar,您可以使用 PDF 组合来执行此操作,这是 Acrobat 中的一个错误功能,它允许您嵌入任意文件和带有病毒的文件(我是说病毒?是的。),因此您可以将 .jar 嵌入到 PDF 中。
如果您的意思是要将 PDF 物理放入 JAR,您可以轻松地做到这一点,因为 jar 是一个美化的 .zip 文件。没有什么可以阻止你这样做。
如果您的意思是动态地从 Java 应用程序创建 PDF。有许多工具可以做到这一点,包括 iText 和 JoltPdf。
如果您的意思是从 PDF 执行 java 应用程序/小程序,可能不会,尽管理论上它可以通过附加到 PDF 中某个对象的嵌入式或远程 go-to 操作来完成,但这些是创建一个痛苦,你的 jar 必须嵌入或作为一个边车文件,你必须希望在目标系统上会有一些东西可以正常打开和执行一个 jar,并且 Acrobat 可能会警告地狱没有任何用户采取该行动,因为它是特洛伊木马的载体(我肯定不会允许它)。
如果您的意思是通过 Java 在 Acrobat 中创建更具交互性的体验,Adobe 的答案是使用 javascript,祝您好运。从理论上讲,您可以write an extension(FWIW,我帮助开发了 Acrobat 中的插件架构,这是一个可以饮用的大水管),可以将 Applet 注释添加到 PDF 并以这种方式工作,但为了使扩展工作,它需要由 Adobe 签名才能运行,然后您必须为每个插件实例托管一个 Java VM。
【讨论】:
您提出问题的方式听起来像是您想在 pdf 文件中显示 java 应用程序? 那是不可能的。
如果您有兴趣将 PDF 文件放入 Jar 文件中,请查看此
Create PDF with Java
【讨论】:
How to download and save a file from Internet using Java?
您可以执行以下操作:
URL website = new URL("http://www.website.com/information.asp");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
【讨论】: