sách gpt4 ai đã đi

pdf - PDF 规范中的最小 PDF 示例

In lại 作者:行者123 更新时间:2023-12-04 01:52:08 28 4
mua khóa gpt4 Nike

Tôi đến từ PDF Specification 获取了 PDF 规范中的最小 PDF 示例。 ,将其复制到记事本,将文件重命名为扩展名为 .pdf。

我可以用其他 PDF 查看器(PDF-XChange、SumatraPDF、MuPDF)打开它。但是当我用 Adobe Reader 打开它时,它说文件已损坏。

我不确定其他查看者是否将此“损坏”文件视为空白文件。

该文件应该显示一个空白页,因为它是一个最小的示例。

事实上,我修改了最小的例子。因为当我将它从 PDF 规范复制到记事本,并通过十六进制编辑器打开 .txt 文件时,我看到 .txt 文件中的新行给了我 2 个空间。例如,

1 0 obj
<< /Type /Catalog

给我(在十六进制编辑器中)
1 0 obj << /Type /Catalog

这是(十六进制值)
31 20 30 20 6F 62 6A 0D 0A 3C 3C 20 2F 54 79 70
65 20 2F 43 61 74 61 6C 6F 67
j 之间的 2 个空格和 <Đúng 0D 0A .

因此我不在记事本中创建新行,并修改 xref 中的值部分。

下面是完整的代码。

你知道这个例子有什么问题吗?为什么 Adobe Reader 说它坏了?这是因为我在 xref 中给出了错误的值吗? ?
%PDF-1.4 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [4 0 R] /Count 1 >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /MediaBox [0 0 612 792] /Contents 5 0 R /Resources << /ProcSet 6 0 R >> >> endobj 5 0 obj << /Length 35 >> stream … Page-marking operators … endstream endobj 6 0 obj [/PDF] endobj xref 0 7 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000119 00000 n 0000000176 00000 n 0000000295 00000 n 0000000373 00000 n trailer << /Size 7 /Root 1 0 R >> startxref 395 %%EOF

1 Câu trả lời

第一:当您从 PDF 规范中“复制”示例时,很可能发生了一些事情,导致您的副本无法按预期工作:

  • ...您没有通过在文本编辑器中重新键入示例来“复制”,而是
  • ...您使用了复制粘贴,使用 PDF 作为源文件。

  • 根据您的文本编辑器,该方法可能导致换行约定的转换从 [cr]+[lf] 更改为 [cr],反之亦然。这又意味着对象“目录”(“ xref”表)中的字节偏移量不再有效。

    另一个问题与您发布的 PDF 源代码相比,它现在根本不包含任何换行符。一些观众可能仍然能够默默地解析这件事,但并非所有人都如此。这肯定是违反规范的,因为根据规范,在第 7.5.2 章中清楚地说明了

    "The first line of a PDF file shall be a header consisting of the 5 characters %PDF– followed by a version number of the form 1.N, where N is a digit between 0 and 7.



    您的标题违反了该规则。

    另外, 5 0 obj 中的“流”不是任何有效的 PDF 代码,它只是占位符文本 ( … Page-marking operators … )。一些观众在看到这样的“垃圾”时可能会倾斜。

    最后,Của bạn startxref值不正确。

    所以这是一个有效的文件。我在文本编辑器中对其进行了修复,并将您的原始代码作为注释放在 %%EOF 之后供比较和引用:
    %PDF-1.4
    1 0 obj
    << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >>
    endobj
    2 0 obj
    << /Type Outlines /Count 0 >>
    endobj
    3 0 obj
    << /Type /Pages /Kids [4 0 R] /Count 1 >>
    endobj
    4 0 obj
    << /Type /Page /Parent 3 0 R /MediaBox [0 0 612 792] /Contents 5 0 R /Resources << /ProcSet 6 0 R >> >>
    endobj
    5 0 obj
    << /Length 35 >>
    stream
    … Page-marking operators …
    endstream
    endobj
    6 0 obj
    [/PDF]
    endobj
    xref
    0 7
    0000000000 65535 f
    0000000009 00000 n
    0000000074 00000 n
    0000000119 00000 n
    0000000176 00000 n
    0000000295 00000 n
    0000000376 00000 n
    trailer
    << /Size 7 /Root 1 0 R >>
    startxref
    394
    %%EOF

    %% %PDF-1.4 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [4 0 R] /Count 1 >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /MediaBox [0 0 612 792] /Contents 5 0 R /Resources << /ProcSet 6 0 R >> >> endobj 5 0 obj << /Length 35 >> stream … Page-marking operators … endstream endobj 6 0 obj [/PDF] endobj xref 0 7 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000119 00000 n 0000000176 00000 n 0000000295 00000 n 0000000373 00000 n trailer << /Size 7 /Root 1 0 R >> startxref 395

    关于pdf - PDF 规范中的最小 PDF 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12662596/

    28 4 0
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com