将 google 文档导出到 html 时保留原始图像文件名

Keep original image file name when exporting google doc to html

我正在构建一个可以将 google 文档导出到网站的应用程序,但我无法获取原始文件名。

步骤:

  1. 创建一个google文档,通过插入->图像->驱动器插入一个驱动器图像。
  2. 使用 google 驱动器 api 将文档导出到 html (Ruby: https://googleapis.dev/ruby/google-api-client/latest/Google/Apis/DriveV3/DriveService.html#export_file-instance_method)
  3. 从 html 中提取图像,您将始终获得类似于 https://lh3.googleusercontent.com/zUmjDlO9wBwiEMnegKwkh1VPGUaaVssRmWn6BvN_-WyD8ImK-s8rgwVkjmR1Zrsd89OcelYKArsHxy9CUXREoeUm5LgfxrUU0HZVa7d7BqcUsDh5E19I4AqwX_xIv_0Tyf5b4qZm
  4. 的 src
  5. 像下载网络上的任何文件一样下载图像。无论原始文件名如何,“content-disposition”header 始终具有“文件名=Untitled.jpg”。

我做错了什么吗?有没有办法得到原始文件名?

问题是 Google 除了以下详细信息外,文档不保存图像的任何详细信息:

因此,当在另一个应用程序中打开时,该应用程序会将图像名称初始化为它自己的默认图像名称(例如 image.jpgUntitled.jng, 等),因为他们没有看到有关它的任何详细信息。看到类似的post.

总结:

  • 简而言之,您无法通过检查插入图像的详细信息来获取原始文件名,因为 Google docs 在您插入图像时不会存储该数据。即使在导出之前,也无法确定插入的图像在文档中的名称。

解决方法:

  • 您可以在包含特定字符串 (Figure <N>: <filename>) 的图像中添加标题,以便在提取图像时轻松找到它们。然后在检查特定图像的标题时,您只需找到特定字符串的匹配项和图像的顺序。这绝对不是最佳方法,而是最简单的方法。