Reportlab で生成された PDF で、アジア フォント (中国語の簡体字/繁体字、日本語、および韓国語) を問題なく使用しています。ただし、最近、次のような暗号化オプションを有効にすることにしました。
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
)
アジア以外の言語の場合、暗号化は期待どおりに機能します。暗号化されたアジア フォントを使用すると、Adobe Reader で PDF を読み取ることができません。たとえば、簡体字中国語の場合、Adobe Reader から「フォント "STSong-Light" が見つかりません」というエラーが表示されます。
これを機能させないためにどの暗号化が壊れているかについて、誰か考えがありますか?