delphi llPDFLib 操作PDF


llPDFLib 操作PDF

屬性和方法

TPDFCanvas.SetActiveFont

procedure SetActiveFont(FontName: AnsiString; FontStyle: TFontStyles; FontSize: Extended; FontCharset: TFontCharset = ANSI_CHARSET); overload;

設置文本操作的活動truetype字體。llPDFLib模擬 fsUnderLinefsStrikeOut 樣式。 如果字體沒有 fsBoldfsItalic 樣式,llPDFLib也會模擬它。

參數

FontName truetype字體的名稱。

FontStyle 字體的樣式。

FontSize 字體大小。

FontCharset Charset,用於ansi字符串。 默認值 ANSI_CHARSET

TPDFCanvas.TextOut

procedure TextOut(X: Extended; Y: Extended; Orientation: Extended; TextStr: AnsiString); overload;

文本字符串輸出。

參數

X 文本輸出起始點的X坐標。

Y 文本輸出起始點的Y坐標。

Orientation 文本方向。

TextStr 要輸出的文本字符串。

TPDFCanvas.SetColor

procedure SetColor(Color: TPDFColor);

設置閉合區域的填充顏色和線條的顏色。

參數

Color 填充和線條的顏色。

TPDFCanvas.SetColorFill

procedure SetColorFill(Color: TPDFColor);

設置閉合區域的填充顏色。

參數

Color 填充的顏色。

TPDFCanvas.SetLineWidth

procedure SetLineWidth(lw: Extended);

將當前線寬設置為以點為單位指定的值。

參數

lw 新線寬 。

TPDFCanvas.Rectangle

procedure Rectangle(X1: Extended; Y1: Extended; X2: Extended; Y2: Extended);

繪制一個矩形,其中左上角位於( X1 , Y1 ),右下角位於( X2 , Y2 )。

參數

X1 矩形左上角的X坐標。

Y1 矩形左上角的Y坐標。

X2 矩形右下角的X坐標。

Y2 矩形右下角的Y坐標。

TPDFCanvas.Stroke

procedure Stroke;

通過當畫筆顏色和當前線寬描邊當前路徑。

TPDFCanvas.FillAndStroke

procedure FillAndStroke;

首先使用當前填充顏色填充內部,然后使用當前畫筆顏色描邊路徑。PDF的圖形狀態為填充和描邊操作保留了不同的顏色,因此可以使用這些組合操作符。

TPDFCanvas.ShowImage

procedure ShowImage(ImageIndex: Integer; X: Extended; Y: Extended); overload;

在畫布上顯示圖像。

參數

ImageIndex 生成的圖像中的圖像索引。

X 矩形左上角的X坐標。

Y 矩形左上角的Y坐標。

TPDFImages.AddImage

function AddImage(FileName: TFileName; Compression: TImageCompressionType): Integer; overload;
function AddImage(Image: TGraphic; Compression: TImageCompressionType): Integer; overload;

根據壓縮類型將文件中的圖像或TGraphic中的圖像添加到生成的文檔中。目前支持bmp(TBitmap)和jpeg(TJPegImage)格式。

參數

FileName 要插入到文檔中的圖像的文件名。

Image 要插入到文檔中的圖像的對象。

Compression 壓縮類型,將圖像保存在文檔中。

返回值

返回保存在文檔圖像中的索引。

由於圖像可能會占用很大的尺寸,因此會立即將其寫入生成的輸出流或文件。

llPDFCanvas.ColorToPDFColor

function ColorToPDFColor(Color: TColor): TPDFColor;

將TColor轉換為PDFColor的函數。

參數

Color 顏色 。

TImageCompressionType

指定PDF文檔中圖像的存儲類型

unit

llPDFTypes

TImageCompressionType = (
  itcFlate,
  itcJpeg,
  itcCCITT3,
  itcCCITT32d,
  itcCCITT4,
  itcJBIG2
);
  • itcFlate Flate 壓縮(可用於黑白和彩色圖像)
  • itcJpeg Jpeg 壓縮(可用於黑白和彩色圖像)
  • itcCCITT3 CCITT3(僅適用於黑白圖像)
  • itcCCITT32d CCITT32d(僅適用於黑白圖像)
  • itcCCITT4 CCITT4(僅適用於黑白圖像)
  • itcJBIG2 JBIG2(用於掃描頁面的黑白圖像)

TPDFColor

確定繪制圖形基元時使用的色彩空間和顏色。

unit

llPDFTypes

TPDFColor = record
  ColorSpace: TPDFColorSpace;
  case TPDFColorSpace of
    csCMYK: (Cyan: Extended;
             Magenta: Extended;
             Yellow: Extended;
             Key: Extended;);
    csGray: (Gray: Extended;);
    csRGB: (Red: Extended;
            Green: Extended;
            Blue: Extended;);
end;

例子

輸出文字

uses llPDFDocument, llPDFCanvas;

procedure TForm1.Button5Click(Sender: TObject);
var
  Pdf: TPDFDocument;
begin
  Pdf := TPDFDocument.Create(nil);
  try
    //創建PDF文檔
    Pdf.AutoLaunch := True;
    Pdf.FileName := 'C:\Users\Administrator\Desktop\ceshi.pdf';
    Pdf.BeginDoc;
    with Pdf.CurrentPage do
    begin
      //設置字體
      SetActiveFont('宋體', [fsBold], 20, GB2312_CHARSET);
      //設置字體顏色
      SetColor(ColorToPDFColor(clBlue));
      //輸出內容
      TextOut(100, 100, 0, '文本內容');
    end;
    Pdf.EndDoc;
  finally
    Pdf.Free;
  end;
end;

輸出矩形

uses llPDFDocument, llPDFCanvas;

procedure TForm1.Button6Click(Sender: TObject);
var
  Pdf: TPDFDocument;
begin
  Pdf := TPDFDocument.Create(nil);
  try
    //創建PDF文檔
    Pdf.AutoLaunch := True;
    Pdf.FileName := 'C:\Users\Administrator\Desktop\ceshi.pdf';
    Pdf.BeginDoc;
    with Pdf.CurrentPage do
    begin
      //設置顏色
      SetColor(ColorToPDFColor(clRed));
      SetColorFill(ColorToPDFColor(clYellow));
      //設置寬度
      SetLineWidth(1);
      //畫矩形
      Rectangle(100, 100, 250, 175);
      Stroke;
      //填充矩形
      Rectangle(100, 200, 200, 300);
      FillAndStroke;
    end;
    Pdf.EndDoc;
  finally
    Pdf.Free;
  end;
end;

插入圖片

uses llPDFDocument, llPDFTypes;

procedure TForm1.Button8Click(Sender: TObject);
var
  Pdf: TPDFDocument;
  Bmp1, Bmp2: Integer;
begin
  Pdf := TPDFDocument.Create(nil);
  try
    //創建PDF文檔
    Pdf.AutoLaunch := True;
    Pdf.FileName := 'C:\Users\Administrator\Desktop\ceshi.pdf';
    Pdf.BeginDoc;
    Bmp1 := Pdf.Images.AddImage('C:\Users\Administrator\Desktop\bmp0001.bmp', itcJpeg);
    Bmp2 := Pdf.Images.AddImage('C:\Users\Administrator\Desktop\bmp0002.bmp', itcJpeg);
    with Pdf.CurrentPage do
    begin
      ShowImage(Bmp1, 10, 50);
      ShowImage(Bmp2, 10, 200);
    end;
    Pdf.EndDoc;
  finally
    Pdf.Free;
  end;
end;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM