【问题标题】:Converting a Aspose.Words HEX to PDF将 Aspose.Words HEX 转换为 PDF
【发布时间】:2021-11-25 13:04:24
【问题描述】:

我需要通过 JavaScript 将编码为 HEX 的 PDF 转换回 base 64 字符串。我只能访问十六进制字符串,而不是编码工具,所以我无法对其进行逆向工程。据我所知,当我将十六进制转换为 base64 时可以“看到”,该文档是使用 Aspose.Words for .NET 编码的。

查看将十六进制转换为字符串(转换为字符串,看看我是否能找到有用的东西):

我有点不知所措。我尝试过对许多不同格式的编码和解码,但上面的图片是我做过的最好的。文件可能被加密了吗?

谢谢

编辑:

自从发帖以来,我尝试了不同的东西。让他们向我发送几个解码为 XML PATH(似乎是 base64)的文件,但是当我尝试打开文件(识别为 b64)时,文件已损坏。

从 hex -> base64 -> 文件转换文件不起作用(使用 base64.guru 进行测试)。该文件被识别为 b64,但无法加载。

【问题讨论】:

  • 你能在这里分享源十六进制字符串吗?正如我从屏幕截图中看到的,它是一个简单的 PDF 文档。所以理论上,如果你的目标是base64字符串,你应该将十六进制字符串转换为字节数组,然后将字节数组编码为base64字符串。
  • 感谢@AlexeyNoskov 的回复。不幸的是,我无法发布源 HEX,因为它包含敏感信息。我刚刚使用了在线工具cryptii.com/pipes/base64-to-hex,我在其中获取了初始的十六进制值,得到了十六进制值(两个对),然后将其编码为 base64。解码基数 64 当然只是返回了十六进制。我肯定在这里误解了一些东西。
  • 十六进制具有以下格式:0x255044462D312E370D0A342030206F626A0D0A3C3C2F54797065202F506167652F506172656E742033203020522F436F6E74656E74732035203020522F4D65646961426F78205B302030203539352E3239393938373739203834312E39303030323434315D2F5265736F75726365733C3C2F466F6E743C3C2F4641414141482037203020522F464141414241203130203020522F464141414243203132203020522F464141414246203135203020523E3E2F58(等第四)跨度>
  • 我的目标是将原始 HEX 呈现为 pdf。 @AlexeyNoskov
  • 自发布以来我尝试了不同的东西。让他们向我发送几个解码为 XML PATH(似乎是 base64)的文件,但是当我尝试打开文件(识别为 b64)时,文件已损坏。

标签: .net hex aspose aspose.words aspose.pdf


【解决方案1】:

我仍然不明白为什么除非文件真正损坏,否则仍然会有问题。

首先将 HEX TEXT 转换为 PDF

这里是一个使用http://tomeko.net/online_tools/hex_to_file.php?lang=en的例子

如果您在编辑器中打开/保存十六进制(这意味着 0x 之后的所有内容),您应该立即拥有 A4.PDF,因此将其保存并检查它是否可以在 pdf 查看器中读取。

如果它不是 A4 页面或更多页面(您需要给我们至少 3 0 obj 以潜在地查看包含多少页),那么十六进制就不好了

您说您然后将 HEX 转换为 Base64

因此,如果 HEX 完全有效地表示 (REPRoducable EXample) Binary.pdf,那么翻译后的 JVBER.base64 也应该是

如果十六进制(没有任何 0x)不能转换为可查看的二进制文件,第一次检查它的开头是 %PDF-#.#,如图所示,其中数字是版本,理想情况下第二行也应该以 % 开头上面没有显示的 4 个象形文字字符,但对于大多数二进制 pdf 来说应该是这种情况。那么它“应该”可以在 PDF 预览等中查看。如果它除了显示为空白页之外没有查看,则在生成十六进制之前或之后存在损坏,并且可能需要通过修复预告片进行全部或部分恢复。

【讨论】:

  • 感谢您的详细解释(我知道如何处理 b64,但我不是编码/解码专家)。我只是做了你要求的一切(以前也做过很多次)。将十六进制(0x 之后)转换为 b64,将 b64 保存为文件(有和没有data:application/pdf;base64,)无济于事。 Acrobat Reader 或 Mac 的标准 Preview 不想打开该文件。我已与供应商联系以获取更多信息。
  • 嗯。 Google 无法教我 reprex 的含义以及它是如何工作的,所以对于听起来无知表示歉意:什么是 reprex?我可以以编程方式转换它(?)吗?如何让 pdf 查看器翻译它(将十六进制保存为文件?)。我确实学到了很多东西...... :)
  • 因此,如果我将我的十六进制粘贴到您提供的链接中并且创建的 pdf 仍然无法打开 - 十六进制是不好的还是我完全迷路了? ://
猜你喜欢
  • 1970-01-01
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-17
  • 2012-11-09
  • 2011-11-11
相关资源
最近更新 更多