首页 > 解决方案 > 存储带有图例的图像格式

问题描述

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

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

然而,这些都是相当繁重的过程,如果我可以“简单地”使用更原始的格式,其中图像的数据和文本是某种级联的,我会更加满意,或者......

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

标签: imagestoragelegendfile-format

解决方案


  • 图像可以是图像加文本的多语言(不建议)

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

  • 图像可以包含文本元数据,例如 Exif、Jpg 评论、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 Portrait
  • 需要为文本样式(语言)添加 %%Font 以供以后使用
  • %%Image 需要内部名称和完整路径以进行预加载注意此图像在 100% 提取时为 1024x768,但将选择以 50% (512x384) 显示
  • 以单个 % 开头的行是用于提醒我布局内容的伪 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 + 图像

推荐阅读