0
我一直在reportlab生成的pdf中使用亞洲字體(中文簡體/繁體,日文和韓文),而現在還沒有發佈。但是最近我們決定啓用這樣的加密選項:Reportlab:啓用了加密的亞洲字體不起作用
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
pdfmetrics.registerFont(UnicodeCIDFont("STSong-Light"))
enc = pdfencrypt.StandardEncryption(
"", canPrint=1, canModify=0, canCopy=0, canAnnotate=0
)
self._Report = SimpleDocTemplate(
save_file,
topmargin=0.75*inch, bottommargin=0.75*inch,
rightmargin=0.70*inch, leftmargin=0.70*inch,
showBoundary=0,
author="xxx",
title="xxx",
subject=xxx",
encrypt=enc
)
對於非亞洲語言,加密按預期工作。當我們使用加密的亞洲字體時,pdf不能被Adobe閱讀器讀取。例如利用簡化的中國,我們從Adobe Reader下載「無法找到字體‘STSong-光’的錯誤。
任何人有什麼樣的加密是打破不使這項工作任何想法?
不是解決方法是解決方案,但它可以在其他PDF查看器中工作嗎?如果這與Adobe Reader處理PDF文件的方式有關,可能會給出一些提示,並提供一些解決方案的信息。 – 2011-03-23 01:31:25
我厭倦了其他PDF閱讀器,他們給出了同樣的錯誤,「找不到STSong-Light」。只要沒有啓用加密,這些相同的觀衆就能正常工作。我使用啓用和禁用的加密來區分相同的文件,並且它們都具有完全相同的字體定義。唯一不同的是流被加密。不知何故,加密正在破壞pdf結構中的內部內容。 – Sandstone 2011-04-06 15:53:42
嗯,那麼我認爲這可能是ReportLab的一個錯誤。您可以嘗試在ReportLab用戶郵件列表上報告。 http://two.pairlist.net/mailman/listinfo/reportlab-users – 2011-04-06 19:55:03