gpt4 book ai didi

javascript - 如何在 JavaScript 中的浏览器中检查 pdf 文件是否为美国法律或美国信函格式

转载 作者:行者123 更新时间:2023-12-04 11:38:53 25 4
gpt4 key购买 nike

我在浏览器中运行。我有 File ( the JavaScript File type ) 类型为 application/pdf .我想检查 pdf 的格式是横向还是纵向的美国信函(8.5 英寸 x 11 英寸)或美国法律(8.5 英寸 x 14 英寸)。
我看过jsPDF尽管以编程方式创建 pdf 文档看起来很棒(这将在测试中派上用场),但我无法找到一种方法来使用它来解析现有的 PDF File并获取有关文档的信息(例如页面格式和方向)。
任何帮助实现我的目标都将不胜感激,无论是 jsPDF ,另一个库,或者 vanilla JS。

最佳答案

使用简单的文本解析,大多数 但不是全部 PDF 文件将有一个或多个 /MediaBox条目,代表每一页。 /CropBox是查看页面的大小,因此如果存在可能会更好。页面长度为 通常 除非页面使用不同的 UserUnit,否则以点数给出。格式是 [x0, y0, x1, y1],因此它们可能并不总是以 0 开头,甚至是下面的值,而是 x0 和 x1 之间的差异表示标称宽度。
这里只是最近欧洲示例中的一些第一个条目,因此请注意变化,有些是整数,有些是真实的,有些是混合的(就像很多 pdf 内容一样,没有强制规则)

/MediaBox [0 0 595.28 841.89]
/MediaBox [0 0 842 595]
/MediaBox[0 0 387.36 594]
对于美国字母和法律,它们通常是整数 期待 或搜索
/MediaBox[0 0 612 792] 和类似的
在许多情况下,即使打算稍后旋转,所有页面的形状都相同,但有时页面可以混合,但这需要搜索/计算所有页面(假设所有页面都是简单的文本描述)
/MediaBox .... 0 576 720] = A US Gov Letter Portrait Page (8" x 10") [*]
/MediaBox .... 0 720 576] = A US Gov Letter Landscape Page
/MediaBox .... 0 576 756] = A US Gov Letter Portrait Page (8" x 10.5")
/MediaBox .... 0 756 576] = A US Gov Letter Landscape Page
/MediaBox .... 0 576 936] = A US Gov Legal Portrait Page (8" x 13") [*]
/MediaBox .... 0 936 576] = A US Gov Legal Landscape Page
/MediaBox .... 0 612 792] = A US Letter Portrait Page (8.5" x 11")
/MediaBox .... 0 792 612] = A US Letter Landscape Page
/MediaBox .... 0 612 936] = A US Gov Legal Portrait Page (8.5" x 13") [*]
/MediaBox .... 0 936 612] = A US Gov Legal Landscape Page
/MediaBox .... 0 612 1008] = A US Legal Portrait Page (8.5" x 14")
/MediaBox .... 0 1008 612] = A US Legal Landscape Page
还有其他历史悠久的美国尺码
* https://en.wikipedia.org/wiki/Paper_size#Loose_sizes
Rotation 最常设置为 0,然后是矩阵变换或/action 应用于旋转第一个 View ,在那些支持此类操作或脚本而不阻塞的阅读器中。因此对搜索 1001x /Rotate 0 没有用处条目
因此,例如,我应该补充说,我在上面给出的第一个随机文件是一个窄而高的直立纵向页面,但它是一个从右侧读取的图表,作为横向机场布局,测试将失败,它应该以哪种方式它可以被读取为纵向或横向,可以在 pdf 中设置,但由用户来阅读两个文本作为纵向然后横向

关于javascript - 如何在 JavaScript 中的浏览器中检查 pdf 文件是否为美国法律或美国信函格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69213947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com