我在使用iTextSharp组件生成pdf时,使用PdfContentByte 进行pdf绘制,在对下面内容进行字体样式设置时,
一开始使用的是STSONG.TTF 这个字体,生成的pdf 有120k, 如果换成simhei.ttf 这个字体,生成的pdf只有40k,
请问这是什么情况呢。有没有在不更换字体的情况下,使pdf变小。
BaseFont JpFont = BaseFont.CreateFont(
path + "\STSONG.TTF",
BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED)
BaseFont heiti = BaseFont.CreateFont(
path + "\simhei.ttf",
BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED
中间省略。
PdfContentByte cb = writer.DirectContent //创建画笔类
cb.SetFontAndSize(JpFont, 10 * scale)
cb.SetTextMatrix(MillimeterToPixel(86, scale), MillimeterToPixel(121, scale))
cb.ShowText("この荷物は郵便物")
cb.SetFontAndSize(JpFont, 10 * scale)
cb.SetTextMatrix(MillimeterToPixel(86, scale), MillimeterToPixel(118, scale))
cb.ShowText("ではありません")
调用spire.pdf.dll的方法可以压缩文件大小:
using Spire.Pdf;
namespace CompressDocument
{
class Program
{
static void Main(string[] args)
{
//加载PDF文档
PdfDocument doc = new PdfDocument("test.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;
//设置PDF文档的压缩级别
doc.CompressionLevel = PdfCompressionLevel.Best;
//保存并关闭文档
doc.SaveToFile("Compressed.pdf");
doc.Close();
}
}
}