【发布时间】:2011-01-26 15:35:07
【问题描述】:
我正在使用 FPDF 创建动态生成的 PDF。
我的 PDF 在网格中需要许多完全水平/垂直的线,并且在渲染时它们是抗锯齿的,并且看起来非常模糊且客户无法接受。我需要删除文档中这些(或所有)行的抗锯齿。
我知道这是可能的,因为它在 adobe pdf 规范本身中正确显示 http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf(警告:大文件) 请参阅第 2 页中的方框了解其外观。
如何复制此页面上显示的框?
-- 编辑--
%PDF-1.6
3 0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Contents 4 0 R>>
endobj
4 0 obj
<</Length 44>>
stream
2 J
1.00 w
20.00 821.89 m 200.00 821.89 l S
endstream
endobj
1 0 obj
<</Type /Pages
/Kids [3 0 R ]
/Count 1
/MediaBox [0 0 595.28 841.89]
>>
endobj
2 0 obj
<<
/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
/Font <<
>>
/XObject <<
>>
>>
endobj
5 0 obj
<<
/Producer (FPDF 1.6)
/CreationDate (D:20100311190240)
>>
endobj
6 0 obj
<<
/Type /Catalog
/Pages 1 0 R
/OpenAction [3 0 R /FitH null]
/PageLayout /OneColumn
>>
endobj
xref
0 7
0000000000 65535 f
0000000179 00000 n
0000000266 00000 n
0000000009 00000 n
0000000087 00000 n
0000000360 00000 n
0000000435 00000 n
trailer
<<
/Size 7
/Root 6 0 R
/Info 5 0 R
>>
startxref
538
%%EOF
这是一个非常简单的 PDF 文件,它绘制了一条线来显示我遇到的问题。我发现诀窍是添加这个:
/Type /ExtGState
/SA false
但我还不能让它工作。 SA 在上述 PDF 规范的 10.6.5 中定义
【问题讨论】:
-
我在第 2 页或第 ii 页上都没有看到任何网格。在第二页,有一个简单的矩形框,你指的是这个吗?如果是这样,那与多行网格不太一样,也不会以相同的方式绘制,无论是在 pdf 规范中还是使用 fpdf (我会使用
Rect方法来绘制基本矩形)。 -
Anthony:是的,这就是我所指的。我不能只画一个简单的网格。我需要绘制的网格非常复杂,我需要使用单独的线条来绘制。我试图说明的是,显示的内容没有抗锯齿。
-
另外,根据我的回答,我查看了 pdf 规范中的抗锯齿功能,并且默认情况下唯一明确的开/关变量 (
AntiAlias) 设置为 false。我检查了 FPDF 代码,那里没有提到抗锯齿,所以他们没有打开它。这意味着线条绘制功能(通常在 pdf 中)总是在没有关闭选项的情况下进行抗锯齿处理,或者他们将其称为其他东西,或者抗锯齿是由您正在做的事情触发的。如果您可以提供更具体的示例和输出示例,那将非常有帮助。 -
它没有抗锯齿,因为矩形默认没有抗锯齿。既不或线条。我认为重叠可能会产生抗锯齿的外观或触发 pdf 阅读器添加它。你能提供一个示例输出的链接吗?
-
我刚刚使用 fpdf 创建了一个井字游戏,但没有看到任何模糊性。同样,一个样本会很有帮助。
标签: pdf pdf-generation fpdf