是PDF标题,无论版本如何 我正在通过标头信息验证PDF上传。我输出了我需要检查的标头部分,而返回值为%pdf-1.4 我知道有几种方法可以使用ST ...

问题描述 投票:0回答:2
我的问题是所有PDF文件标头是否包含前7个职位内的%PDF。我要拉出7,因为我需要额外的时间来检查我正在验证的其他文件类型。

IS%pdf版本是特定的,还是全局? 我知道我可以将strpos用于PDF,但是如果我可以更具体,那么我的验证将更有效。 实际上,如果所有这些都是%pdf-1,那也将更具体,更有效。

我的问题是所有PDF文件标头是否包含%PDF在前7个位置

php apache validation pdf header
2个回答
0
投票
%PDF
,这似乎不太可能在将来发生变化。请参阅

PDF格式规范的第3.4.1节(第92页):

PDF文件的第一行是标题,识别文件符合的PDF规范的版本。对于文件 符合PDF 1.7的标题应为

  
  
%pdf -1.7 ,但是,由于任何符合早期版本的PDF的文件 符合1.7版,一个处理PDF 1.7的应用程序可以 还可以使用以下任何标头接受文件:

%pdf -1.0

%pdf -1.1

%pdf -1.2

%pdf -1.3

%pdf -1.4

%pdf -1.5

%pdf -1.6

正确的答案comph应该是先前的答案。前40个二进制位“可以”始终从第一个8 =

00100101

开始,而40将转化为ASCII

%PDF-
,它将在HEX 25 50 44 462D

0
投票

如何查看2024/2025 Google PDF发票,您可能会看到跟踪前缀,这里只有5个。因此,由于Google添加了自己的标头,因此需要进行测试是第一个1024个字节中发现的40位签名。 
0a 8c 9a 03 25 50 44 46 2D
0a 8e d6 0f 25 50 44 46 2D
0a e8 c7 03 25 50 44 46 2D
0a f2 a9 05 25 50 44 46 2D
0a ea c6 04 25 50 44 46 2D

这是一个错误(反对ghostscripthttps://bugs.ghostscript.com/show_bug.cgi?id =708056enter image description here),这不是严格不正确的,这实际上是羊毛的Adobe/google“允许的变体”标准“

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.