0
我有一個使用iTextSharp的公司PdfSmartCopy
類多個較小的PDF文件合併成一個大的一些代碼:如何避免重複的字體資源?
FileStream outStream = new FileStream(outputFilename, FileMode.Create, FileAccess.Write);
Document document = new Document();
PdfSmartCopy copy = new PdfSmartCopy(document, outStream);
document.Open();
foreach (string filename in fileList)
{
PdfReader reader = new PdfReader(filename);
for (int pageNum = 1; pageNum <= reader.NumberOfPages; ++pageNum)
{
copy.AddPage(copy.GetImportedPage(reader, pageNum));
}
}
document.Close();
當我提取使用mutool extract
的PDF資源,還有每次使用的字體的多個相同副本:
C:\[...]>sha1sum *.cff *.ttf *.png | sort
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0020.cff
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0036.cff
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0049.cff
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0069.cff
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0084.cff
0d150f99593d385764a1c7096b72448d09af8d72 *JPIOAD+Helvetica-0099.cff
17a99e597d3ec2cabf567cbfec032972f7e00962 *DXLQZY+LetterGothicW1Bold-0032.ttf
17a99e597d3ec2cabf567cbfec032972f7e00962 *GMYLDU+LetterGothicW1Bold-0014.ttf
17a99e597d3ec2cabf567cbfec032972f7e00962 *MNVLMO+LetterGothicW1Bold-0045.ttf
[etc.]
我已經檢查了* .cff和* .TTF文件FontForge,它看起來像他們只包含實際上是在文檔中使用的字符集。
有沒有辦法讓生成的文件只包含一個字體的副本?