• delphi SynPDF 文档设置


    SynPDF 文档设置

    属性和方法

    TPdfDocument.CompressionMethod

    property CompressionMethod: TPdfCompressionMethod;
    

    用于页面内容存储的压缩方法。

    在创建类实例时默认值为 cmFlateDecode

    TPdfCompressionMethod

    指定页面内容压缩。

    unit

    SynPdf

    TPdfCompressionMethod = (
      cmNone, cmFlateDecode);
    
    • cmNone 不压缩。
    • cmFlateDecode 使用平面压缩进行压缩。

    TPdfDocument.EmbeddedTTF

    property EmbeddedTTF: boolean;
    

    设置为True,使用的 Truetype 字体将被嵌入到PDF内容中。默认值 False

    默认值为False,以节省磁盘空间和产生微小的PDF。

    TPdfDocument.EmbeddedWholeTTF

    property EmbeddedWholeTTF: boolean;
    

    设置为True,嵌入的 Truetype 字体将完全嵌入PDF文件中;设置为 False,表示将 TTF 字体子集存储到PDF文件中,即只存储使用的字形。默认值 False

    此选项仅在 Windows XP 或更高版本上运行时可用。

    设置EmbeddedTTFTrue,则将TTF字体子集存储到PDF文件中,即只存储使用的字体字形。

    设置EmbeddedWholeTTFTrue,则整个字体文件按原样嵌入PDF文件中。

    TPdfDocument.EmbeddedTTFIgnore

    property EmbeddedTTFIgnore: TRawUTF8List;
    

    这个列表中添加一些字体名称,这些字体永远不会嵌入到PDF文件中。

    忽略所有标准 Windows 字体,请使用:EmbeddedTTFIgnore.Text := MSWINDOWS_DEFAULT_FONTS;

    MSWINDOWS_DEFAULT_FONTS

    MSWINDOWS_DEFAULT_FONTS: RawUTF8 =
      'Arial'#13#10'Courier New'#13#10'Georgia'#13#10+
      'Impact'#13#10'Lucida Console'#13#10'Roman'#13#10'Symbol'#13#10+
      'Tahoma'#13#10'Times New Roman'#13#10'Trebuchet'#13#10+
      'Verdana'#13#10'WingDings';
    

    自Windows 2000以来默认可用的常用字体列表。

    要避免在PDF文档中嵌入这些字体并以省磁盘空间,只需设置 EmbeddedTTFIgnore 属性:EmbeddedTTFIgnore.Text := MSWINDOWS_DEFAULT_FONTS;

    只有当EmbeddedTTF属性设置为True时才有用。

    TPdfDocument.NewDoc

    procedure NewDoc;
    

    创建一个新文档。

    如果要重置整个文档内容,可以多次调用它。

    例子

    创建设置

    procedure TForm1.Button8Click(Sender: TObject);
    var
      Pdf: TPdfDocumentGDI;
    begin
      //创建PDF文档
      Pdf := TPdfDocumentGDI.Create;
      try
        //压缩方式
        Pdf.CompressionMethod := cmFlateDecode;
        //设置不嵌入字体
        Pdf.EmbeddedTTFIgnore.Add('WingDings');
        Pdf.AddPage;
        Pdf.SaveToFile('C:\Users\Administrator\Desktop\ceshi.pdf');
      finally
        Pdf.Free;
      end;
    end;
    

    清空文档

    procedure TForm1.Button9Click(Sender: TObject);
    var
      Pdf: TPdfDocumentGDI;
    begin
      //创建PDF文档
      Pdf := TPdfDocumentGDI.Create;
      try
        Pdf.AddPage;
        with Pdf.VCLCanvas do
        begin
          Font.Name := '宋体';
          Font.Size := 20;
          TextOut(100, 100, '原文档的内容');
        end;
        //清空文档内容
        Pdf.NewDoc;
        //写入新内容
        Pdf.AddPage;
        with Pdf.VCLCanvas do
        begin
          Font.Name := '宋体';
          Font.Size := 20;
          TextOut(100, 100, '新文档的内容');
        end;
        Pdf.SaveToFile('C:\Users\Administrator\Desktop\ceshi.pdf');
      finally
        Pdf.Free;
      end;
    end;
    
  • 相关阅读:
    纪念时至今日才学会的命令行
    面向对象程序设计寒假作业2
    面向对象程序设计寒假作业1
    POJ 2104 K-th Number
    HihoCoder 1325 平衡树·Treap
    HihoCoder 1079 离散化
    POJ 2135 Farm Tour
    Luogu P1231 教辅的组成
    洛谷 P3410 拍照
    洛谷 P3370 【模板】字符串哈希
  • 原文地址:https://www.cnblogs.com/txgh/p/16206700.html
Copyright © 2020-2023  润新知