【问题标题】:Storing format for an image with its legend存储带有图例的图像格式
【发布时间】:2021-11-12 12:32:59
【问题描述】:

我正在尝试将植物图像及其图例(作为文本)存储在一起。但是我找不到直接的方法来做到这一点。

我当然可以使用“高级”文本编辑器(高级,我的意思是格式化,而不仅仅是原始文本),我可以在其中导入图像并编写文本,然后以 PDF 格式导出>。我还考虑过 html,它可以用来为每一对图像图例创建一个独立的本地网页。但是,每对仍然有 2 个文件:一个用于图像,一个用于 html 代码。

然而,这些都是相当繁重的程序,如果我能“简单地”使用一种更原始​​的格式,在这种格式中,图像的数据和文本是某种级联的,或者如此…… .

你知道这种格式吗?如果没有,我最好自己编写代码...... 提前谢谢你!

【问题讨论】:

标签: image storage legend file-format


【解决方案1】:
  • 图像可以是图像加文字的多语种(不建议)

  • 图像可以将文本作为隐写术保存(也不可取)

  • 图像可以包含文本元数据,例如 Exif、Jpg cmets、Tiff 标签或 IPTC

您甚至可以将图例条添加到图像的底部,但这不是“文本”。在放置时您粘贴图像和文本。

  • HTML 可以将图像保存为 text.base64,但文本图像需要 133% 的存储空间

  • FB2 的相似之处在于它是带有编码图像的 xml,但其优点是存储为压缩的 FB2Z因此最接近您的串联要求

  • PDF 可以原生保存,如果处理得当,开销比 html 少,但比 exif.img 多一点

如果作为 PDF/A 处理得好,图像和文本都可以完美地从 PDF 中原始提取,因此可以丢弃图像,但是,它们经常被混合在一起,超出了纯提取甚至重复使用的范围。

但在我的情况下,我可以以 100% 的比例提取图像,因此从这个迷你 PDF 返回的图像是文本

Hello, Flowers!
Microsoft Windows Welcome Scan

这是使用跨平台Artifex Mutool将两者存储在一起的代码

mutool create -o "output.pdf" -O ascii "Page1.txt" ["page2.txt" ...]

%%MediaBox 0 0 595 842
%%Font Helv Helvetica Latin
%%Image Flowers1 C:/Users/name/Documents/WelcomeScan.jpg

% Draw an image. x width, H line elevation (y skew), x skew, y height, left offset, bottom offset, units are pt.'s cm is not centimetres
q 512 0.0 0.0 384 41.5 400 cm /Flowers1 Do Q

% Draw a rectangle. move line fill
q 1 0.5 1 rg 41.5 370 m 553.5 370 l 553.5 270 l 41.5 270 l f Q

% Show some text.
q 0 0 1 rg
BT /Helv 24 Tf 210 330 Td (Hello, Flowers!) Tj ET
BT /Helv 24 Tf 100 290 Td (Microsoft Windows Welcome Scan) Tj ET
Q

注意事项

  • %%MediaBox 是以磅为单位的纸张大小,因此高于 = A4 纵向
  • 需要为文本样式(语言)添加%%字体以供以后使用
  • %%Image 需要内部名称和完整路径以进行预加载注意,此图像在 100% 提取时为 1024x768,但可以选择以 50% (512x384) 显示
  • 以单个 % 开头的行是 cmets,用于提醒我布局内容的伪 PS 指令。块 q ... Q 是页面的核心,并且被严重缩写(在值之后),因此 1 0.5 1 rg 在 RGB 中是 50% 的绿色!在工作模板中删除它们,否则它们可能会添加到 PDF 中:-)
  • 诀窍在于了解 PDF 如何按页面工作,并从以媒体框为界的左下方原点放置矢量或缩放图像或文本。 Mutool 获取脚本并为有效的 PDF 添加所有必要的开销数据。

以上所有内容都可以轻松模板化并使用 CMD 或 BASH 运行,就像可以模板化 ePub 然后调用 TAR 将文件夹转换为 folder.epub,但更复杂的 ePub 结构并不那么容易编写在脚本中,因此建议使用可编写脚本的库。

  • ePub 是首选答案,因为 xhtml 和图像以其原生格式压缩,可以轻松打印为 PDF 或转换为普通 HTML + 图像

【讨论】:

  • 感谢您的回答!我对您生成 pdf 的脚本感兴趣,但我不知道如何让它在 linux 上运行,尤其是因为注释行。为什么第一行都是注释的,还有几行是“%%”?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多