亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? pdfobjs.pas

?? delphi7報(bào)表打印控件源碼 可以設(shè)計(jì)報(bào)表
?? PAS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
      inc(numfontobjs, 3);
{$ELSE}
      inc(foff, 4);
      inc(numfontobjs, 4);
{$ENDIF}
    end;
    inc(foff);
    inc(numfontobjs);
  end;
  WriteStr('  >>');
  WriteStr(format('/ProcSet %d 0 R', [5 + (2 * pagenumber) + numfontobjs]));
  WriteStr('>>');
end;

{$IFDEF TEMPFILES}

procedure PTWrite(ob: string);
var
  k, b: integer;
begin
  ob := ob + CRLF;
  for k := 1 to length(ob) do
  begin
    b := ord(ob[k]);
    currpagefile.WriteBuffer(b, 1);
  end;
  inc(textlength, length(ob));
end;

procedure GRWrite(ob: string);
var
  k, b: integer;
begin
  ob := ob + CRLF;
  for k := 1 to length(ob) do
  begin
    b := ord(ob[k]);
    CurrImageFile.WriteBuffer(b, 1);
  end;
  inc(graphicslength, length(ob));
end;

procedure StartPage;
var
  thetime: TTimeStamp;
  tmpfile: string;
begin
  inc(pagenumber);
  thetime := DateTimeToTimeStamp(now);
  tmpfile := TempDirectory + format('I%-d%-d%-6.6d.tmp', [thetime.Date, theTime.time, pagenumber]);
  pagetextfiles.Add(tmpfile);
  tmpfile := TempDirectory + format('T%-d%-d%-6.6d.tmp', [thetime.Date, TheTime.time, pagenumber]);
  pagegraphicsfiles.Add(tmpfile);
  currpagefile := TFilestream.Create(pagetextfiles[pagenumber - 1], fmCreate);
  CurrImageFile := TFilestream.Create(pagegraphicsfiles[pagenumber - 1], fmCreate);
  textlength := 0;
  graphicslength := 0;
  MadeFirstPageFiles := true;
end;

procedure FinishPage;
begin
  ptwrite('ET');
  currpagefile.free;
  currimagefile.free;
  textlengths.add(format('%d', [textlength]));
  graphicslengths.add(format('%d', [graphicslength]));
end;
{$ELSE}

procedure PTWrite(ob: string);
begin
  currpagefile.Add(ob);
  inc(textlength, length(ob) + 2);
end;

procedure GRWrite(ob: string);
begin
  CurrImageFile.Add(ob);
  inc(graphicslength, length(ob) + 2);
end;

procedure StartPage;
var
  tmplist: TStringlist;
begin
  inc(pagenumber);
  tmplist := TStringlist.Create;
  currpagefile := tmplist;
  pagetextfiles.AddObject(inttostr(pagenumber), tmplist);
  tmplist := TStringlist.Create;
  pagegraphicsfiles.AddObject(inttostr(pagenumber), tmplist);
  CurrImageFile := tmplist;
  textlength := 0;
  graphicslength := 0;
  MadeFirstPageFiles := true;
end;

procedure FinishPage;
begin
  ptwrite('ET');
  textlengths.add(format('%d', [textlength]));
  graphicslengths.add(format('%d', [graphicslength]));
end;
{$ENDIF}

function FLong(b: array of byte): longint;
begin
  result := b[0];
end;

procedure ProcessItem(ir: TPDFItemRec; pimagefile: string);
var
  fontnum: integer;
  xradius, yradius: extended;
  currfont, tstr, tfname: string;
    //tempfile, compfile : TFilestream;
    //thetime : TTimestamp;
  cc: string;
    //bx : byte;
begin
  DecimalSeparator := '.';
        // transform upside-down
  ir.Ypos := pageheight - ir.ypos;
  ir.ypos := ir.ypos + VertAdjust;
  if ir.itemtype = IT_NEWPAGE then
  begin
    FinishPage;
    StartPage;
    exit;
  end;
  if ir.itemtype = IT_TEXT then
  begin
           // stuff escapes THEN brackets
    tstr := string(ir.FText);
    tstr := stringreplace(tstr, '\', '\\', [rfReplaceAll]);
    tstr := stringreplace(tstr, '(', '\(', [rfReplaceAll]);
    tstr := stringreplace(tstr, ')', '\)', [rfReplaceAll]);
    tfname := string(ir.fontname);
    tfname := stringreplace(tfname, ' ', '-', [rfReplaceAll]);
           // modify the font name with the deco
    if ir.fbold then
      tfname := tfname + ', bold';
    if ir.fitalic then
      tfname := tfname + ', italic';
    fontnum := fontlist.indexof(tfname);
    if fontnum = -1 then
    begin
      fontlist.add(tfname);
      fontnum := fontlist.count - 1;
    end;
           // set the color r g b rg
    ptwrite(RGBString(ir.rgbfcolor) + ' rg');
    currfont := format('F%-2.2d', [fontnum]);
           // output the text rendering instructions
           // try Tm instead of Td
    ptwrite('/' + currfont + format(' %d Tf', [ir.fontsize]));
    ptwrite(format(' 1 0 0 1 %d %d Tm (%s) Tj',
      [trunc(ir.xpos), trunc(ir.ypos), tstr]));
  end; // text items
  if ir.itemtype = IT_GRAPHIC then
  begin
    case ir.shape of
      S_BOX: // 0
        begin
          GRWrite(format('%f w', [ir.thickness]));
          tstr := format('%d %d %d %d re ',
            [trunc(ir.xpos), trunc(ir.ypos - ir.height),
            trunc(ir.width), trunc(ir.height)]);
          if ir.filled then
          begin
            GRWrite(RGBString(ir.rgbfcolor) + ' rg');
            tstr := tstr + 'f'
          end
          else
          begin
            GRWrite(RGBString(ir.rgbstrokecolor) + ' RG');
            tstr := tstr + 's'
          end;
          GRWrite(tstr);
        end;
      S_CIRCLE: // 1
        begin
          GRWrite(format('%2.0f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG');
          XRadius := ir.Width / 2;
          YRadius := ir.Height / 2;
          GRWrite(format('%6.1f ', [ir.xpos + XRadius]) + format('%6.1f', [ir.ypos]) + ' m');
          GRWrite(PDFArcTo(ir.xpos + XRadius, ir.ypos, ir.xpos + ir.Width,
            ir.ypos - YRadius, XRadius, YRadius));
          GRWrite(PDFArcTo(ir.xpos + ir.Width, ir.ypos - YRadius,
            ir.xpos + XRadius, ir.ypos - ir.Height, XRadius, YRadius));
          GRWrite(PDFArcTo(ir.xpos + XRadius, ir.ypos - ir.Height, ir.xpos,
            ir.ypos - YRadius, XRadius, YRadius));
          GRWrite(PDFArcTo(ir.xpos, ir.ypos - YRadius, ir.xpos + XRadius,
            ir.ypos, XRadius, YRadius) + ' s');
        end;
      S_HLINE: // 2
        begin
          GRWrite(format('%2.0f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG'); // stroke colour
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos), trunc(ir.ypos - (ir.height / 2)),
            trunc(ir.xpos + ir.width), trunc(ir.ypos - (ir.height / 2))]);
          GRWrite(tstr);
        end;
      S_VLINE: // 3
        begin
          GRWrite(format('%2.0f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG'); // stroke colour
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos + (ir.width / 2)), trunc(ir.ypos - ir.height),
            trunc(ir.xpos + (ir.width / 2)), trunc(ir.ypos)]);
          GRWrite(trim(tstr));
        end;
      S_OBLIQUE: // 4
        begin
          GRWrite(format('%f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG'); // stroke colour
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos), trunc(ir.ypos),
            trunc(ir.xpos + ir.width), trunc(ir.ypos - ir.height)]);
          GRWrite(tstr);
        end;
      S_TOPBOTTOM: // 4
        begin
          GRWrite(format('%2.0f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG'); // stroke colour
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos), trunc(ir.ypos),
            trunc(ir.xpos + ir.width), trunc(ir.ypos)]);
          GRWrite(tstr);
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos), trunc(ir.ypos - ir.height),
            trunc(ir.xpos + ir.width), trunc(ir.ypos - ir.height)]);
          GRWrite(tstr);
        end;
      S_LEFTRIGHT: // 4
        begin
          GRWrite(format('%2.0f w', [ir.thickness]));
          GRWrite(RGBString(ir.rgbstrokecolor) + ' RG'); // stroke colour
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos), trunc(ir.ypos - ir.height),
            trunc(ir.xpos), trunc(ir.ypos)]);
          GRWrite(trim(tstr));
          tstr := format('%d %d m %d %d l s',
            [trunc(ir.xpos + ir.width), trunc(ir.ypos - ir.height),
            trunc(ir.xpos + ir.width), trunc(ir.ypos)]);
          GRWrite(trim(tstr));
        end;
    end;
  end;
  if ir.itemtype = IT_IMAGE then
  begin
    GRWrite(format('q %d 0 0 %d %d %d cm',
      [trunc(ir.width * ir.xscale), trunc(ir.height * ir.yscale),
      trunc(ir.xpos), trunc(ir.ypos)]));
    GRWrite('BI');
    GRWrite(format('/Width %d', [ir.pixelwidth]));
    GRWrite(format('/Height %d', [ir.pixelheight]));
    GRWrite('/BitsPerComponent 8');
    GRWrite('/ColorSpace /DeviceRGB');
    if CompressionOn then
      GRWrite('/Filter [/ASCIIHexDecode /RunLengthDecode]')
    else
      GRWrite('/Filter [/ASCIIHexDecode]');
    GRWrite('ID');
    GRWrite(ir.imagestring); // the image is asciihex in this string
    cc := '>';
    GRWrite(cc);
    GRWrite('EI');
    GRWrite('Q');
  end;
  DecimalSeparator := OldSeparator;
end;

procedure Hexit(var c1: char; var c2: char; b: byte);
var
  b1, b2: byte;
begin
  b1 := b shr 4;
  b2 := b and $0F;
  if b1 < 10 then
    c1 := chr(b1 + ORD0)
  else
    c1 := chr((b1 - 10) + ORDA);
  if b2 < 10 then
    c2 := chr(b2 + ORD0)
  else
    c2 := chr((b2 - 10) + ORDA);
end;

// Exported : add image

procedure AddImageItem(ItemRec: TPDFItemRec; imgdata: pointer);
begin
  if not MadeFirstPageFiles then StartPage;
  itemrec.ypos := ItemRec.Ypos + topmargin + adjusttm;
  itemrec.Xpos := itemrec.Xpos + adjustlm;
  ProcessItem(itemrec, itemrec.imagesrc);
end;

// Exported procedure - receive item data

procedure AddPDFItem(ItemRec: TPDFItemRec);
begin
  if not MadeFirstPageFiles then StartPage;
  itemrec.ypos := ItemRec.Ypos + topmargin + adjusttm;
  itemrec.Xpos := itemrec.Xpos + adjustlm;
  ProcessItem(itemrec, itemrec.imagesrc);
end;


//======================= Filters ===========================
// this code has not been tested. See QRPDFFilt.pas for working RLE

procedure ASCII85(Source, Target: TStream; soffset: longint);
var
  Bytes: Integer;
  I: Integer;
  Total: Cardinal;
  InBuffer: array[0..3] of Byte;
  OutBuffer: array[0..4] of Byte;
begin

  Source.Position := soffset;
  Target.Position := 0;

  while Source.Position < Source.Size do begin

    for I := 0 to High(InBuffer) do begin
      InBuffer[I] := 0;
    end;

    for I := 0 to High(OutBuffer) do begin
      OutBuffer[I] := 0;
    end;

    Bytes := Source.Read(InBuffer, 4);

    Total := 0;
    for I := 0 to High(InBuffer) do begin
      Total := Total + (InBuffer[I] * Trunc(IntPower(256, 3 - I)));
    end;

    if (Total = 0) and (Bytes = 4) then begin
      OutBuffer[0] := 122;
      Target.Write(OutBuffer, 1);
    end else begin
      for I := 0 to High(OutBuffer) do begin
        OutBuffer[I] := Trunc(Total / IntPower(85, 4 - I));
        Total := Total - (OutBuffer[I] * Trunc(IntPower(85, 4 - I)));
        OutBuffer[I] := OutBuffer[I] + 33;
      end;
      Target.Write(OutBuffer, Bytes + 1);
    end;

  end;

  OutBuffer[0] := Ord('~');
  OutBuffer[1] := Ord('>');
  Target.Write(OutBuffer, 2);

  Source.Position := 0;
  Target.Position := 0;

end;

procedure RunLength(Source, Target: TStream);
var
  Buffer, C, LastOut, LastBuf: string;
  LastCnt: Integer;
begin

  C := ' ';
  Buffer := '';
  LastOut := '';
  LastCnt := 0;
  Source.Position := 0;
  Target.Position := 0;

  while Source.Position < Source.Size do begin

    Source.Read(C[1], 1);

    if (C = LastOut) and (LastCnt <= 127) then begin
      if Length(LastBuf) > 0 then begin
        Buffer := Buffer + CHR(Length(LastBuf) - 1) + LastBuf;
        LastBuf := '';
      end;
      Inc(LastCnt);
    end else begin
      if LastCnt = 0 then begin
      end else if LastCnt > 1 then begin
        Buffer := Buffer + CHR(257 - LastCnt) + LastOut;
      end else begin
        LastBuf := LastBuf + LastOut;
        if Length(LastBuf) >= 128 then begin
          Buffer := Buffer + CHR(Length(LastBuf) - 1) + LastBuf;
          LastBuf := '';
        end;
      end;
      LastCnt := 1;
      LastOut := C;
    end;

    if Length(Buffer) > 0 then begin
      Target.Write(Buffer[1], Length(Buffer));
    end;
    Buffer := '';

  end;

  if Length(LastBuf) > 0 then begin
    Buffer := Buffer + CHR(Length(LastBuf) - 1) + LastBuf;
  end;

  if LastCnt = 1 then begin
    Buffer := Buffer + CHR(0) + LastOut;
  end;

  if LastCnt > 1 then begin
    Buffer := Buffer + CHR(257 - LastCnt) + LastOut;
  end;

  Buffer := Buffer + CHR(128) + '>';
  Target.Write(Buffer[1], Length(Buffer));

  Source.Position := 0;
  Target.Position := 0;
end;

procedure HEXImage(ffi: string);
begin
end;

function RGBString(acol: TRGBColor): string;
begin
  result := trim(format('%4.2f %4.2f %4.2f', [acol.red / 255.0,
    acol.green / 255.0,
      acol.blue / 255.0]));
end;

function Isdigit(c: char): boolean;
begin
  result := (c >= '0') and (c <= '9');
end;

function IsNumber(s: string): boolean;
var
  k: integer;
begin
  result := false;
  for k := 1 to length(s) do
    if not isdigit(s[k]) then
      exit;
  result := true;
end;

function Pad10(s: string): string;
begin
  result := copy('0000000000', 1, 10 - length(s)) + s;
end;
// see AD chapter 10. 'Bezier curves'

function PDFArcTo(X1, Y1, X2, Y2, XRadius, YRadius: Extended): string;
var
  C: array[1..6] of Extended;
  I: Integer;
  W, Y: Extended;
begin
  Result := '';
  C[5] := X2;
  C[6] := Y2;
  W := XRadius * 0.55229;
  Y := YRadius * 0.55229;

  if X2 > X1 then begin
    if Y2 > Y1 then begin
      C[1] := X1;
      C[2] := Y1 + Y;
      C[3] := X2 - W;
      C[4] := Y2;
    end else begin
      C[1] := X1 + W;
      C[2] := Y1;
      C[3] := X2;
      C[4] := Y2 + Y;
    end;
  end else begin
    if Y2 > Y1 then begin
      C[1] := X1 - W;
      C[2] := Y1;
      C[3] := X2;
      C[4] := Y2 - Y;
    end else begin
      C[1] := X1;
      C[2] := Y1 - Y;
      C[3] := X2 + W;
      C[4] := Y2;
    end;
  end;

  for I := 1 to 6 do begin
    Result := Result + Format(' %6.1f', [C[I]]) + ' ';
  end;
  Result := trim(Result) + ' c';
end;


end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区老鸭窝| 欧美在线色视频| 国产亚洲精品7777| 国产福利电影一区二区三区| 国产午夜亚洲精品羞羞网站| 成人动漫视频在线| 一区二区三区精品视频| 欧美日韩国产另类一区| 蜜臀av一级做a爰片久久| 亚洲精品一区二区三区在线观看 | 亚洲欧美日本在线| 在线视频亚洲一区| 日韩高清不卡一区| 日韩精品一区二区三区蜜臀| 国产成人丝袜美腿| 亚洲一二三专区| 精品国产一区二区三区四区四| 国产精品中文字幕日韩精品| 亚洲日本在线观看| 欧美一区日本一区韩国一区| 国产一区二区三区免费看 | 亚洲精品视频观看| 欧美一区二区三区四区久久| 国产精品羞羞答答xxdd| 亚洲综合精品自拍| 久久久久九九视频| 欧美主播一区二区三区美女| 美国av一区二区| 亚洲男人的天堂在线观看| 欧美一个色资源| 91片黄在线观看| 国内一区二区视频| 亚洲影院在线观看| 欧美激情在线观看视频免费| 欧美日韩精品一区二区| 国产福利91精品一区| 亚洲国产综合人成综合网站| 国产欧美日韩一区二区三区在线观看| 欧美天堂亚洲电影院在线播放| 激情欧美一区二区三区在线观看| 亚洲一区二区三区小说| 亚洲国产激情av| 91精品免费在线观看| 色哟哟一区二区三区| 精品一区在线看| 亚洲一区二区在线免费看| 久久精品亚洲精品国产欧美kt∨ | 中文字幕亚洲一区二区av在线| 91精品久久久久久久91蜜桃| 色综合天天综合网国产成人综合天 | 久久91精品国产91久久小草| 亚洲黄色录像片| 欧美国产国产综合| www成人在线观看| 8v天堂国产在线一区二区| 成a人片亚洲日本久久| 国产麻豆精品一区二区| 秋霞国产午夜精品免费视频| 亚洲一区中文日韩| 伊人性伊人情综合网| 国产精品久久久久精k8| 欧美极品美女视频| 国产欧美日韩另类视频免费观看| 精品国产91久久久久久久妲己 | 欧美白人最猛性xxxxx69交| 在线免费av一区| 91啪亚洲精品| 色婷婷综合久久久中文字幕| 91网站视频在线观看| 国产成人精品免费| 国产成人精品综合在线观看| 国产精品99久久不卡二区| 精品一区二区三区在线观看国产 | 久久蜜臀中文字幕| 精品三级在线观看| 亚洲精品一区在线观看| 久久久午夜电影| 久久久国际精品| 欧美国产一区视频在线观看| 国产精品区一区二区三| 中文一区一区三区高中清不卡| 欧美国产日本韩| 亚洲手机成人高清视频| 亚洲精品成人天堂一二三| 亚洲一二三四区| 性感美女极品91精品| 天堂成人免费av电影一区| 天天综合网天天综合色| 久久精品免费看| 国产福利91精品| 91免费精品国自产拍在线不卡| 日本久久一区二区| 91精品国产综合久久久久久久久久| 欧美日韩1区2区| 日韩午夜小视频| 欧美国产97人人爽人人喊| 专区另类欧美日韩| 香蕉久久夜色精品国产使用方法| 日韩不卡手机在线v区| 国产在线视视频有精品| 成人免费毛片a| 在线观看视频一区二区| 欧美一级淫片007| 日本一区二区免费在线| 一区二区三区中文字幕| 日韩经典一区二区| 国内精品免费在线观看| 99re热视频这里只精品| 9191久久久久久久久久久| 精品国产乱码久久久久久久久| 中文字幕一区二区在线观看 | 石原莉奈一区二区三区在线观看 | 国产欧美一区二区三区在线老狼 | 欧美久久高跟鞋激| 久久精品亚洲乱码伦伦中文| 日韩理论片在线| 日本不卡中文字幕| 成人高清视频在线观看| 欧美性视频一区二区三区| 久久久综合九色合综国产精品| 亚洲另类春色国产| 国产在线麻豆精品观看| 色综合天天综合网国产成人综合天| 91精品国产一区二区三区香蕉| 国产精品私人影院| 免费在线观看成人| 91女厕偷拍女厕偷拍高清| 26uuu亚洲综合色| 午夜精品久久久久影视| 成人免费观看av| 精品国产91久久久久久久妲己| 一区二区三区在线视频免费| 国产主播一区二区三区| 欧美日韩中文精品| 亚洲色图制服丝袜| 国产剧情一区在线| 欧美一区二区三区四区高清| 一区二区在线观看不卡| 成人免费高清在线观看| 欧美精品一区二区三区蜜桃视频| 亚洲国产综合在线| 99久久婷婷国产| 国产日产精品一区| 久久精品国产久精国产| 欧美日韩国产片| 一区二区视频免费在线观看| 国产成人a级片| 精品电影一区二区三区| 人禽交欧美网站| 欧美另类videos死尸| 亚洲人精品一区| 99国产精品99久久久久久| 国产色一区二区| 国产乱码精品一品二品| 久久综合久久综合久久| 老司机免费视频一区二区三区| 56国语精品自产拍在线观看| 亚洲一区二区欧美日韩| 色综合视频在线观看| 国产精品素人一区二区| 国产高清成人在线| 久久精品一区二区| 成人午夜又粗又硬又大| 国产精品看片你懂得| 成人av影院在线| 国产精品嫩草99a| 成人激情午夜影院| 综合久久久久久| 91福利视频网站| 亚洲午夜久久久久| 欧美另类z0zxhd电影| 日韩成人一级片| 精品久久久久久无| 国产美女久久久久| 国产精品久久二区二区| 色综合色狠狠综合色| 一级做a爱片久久| 欧美视频第二页| 老司机精品视频一区二区三区| 精品国产污污免费网站入口 | 成人爱爱电影网址| 日韩一区在线看| 日本精品一区二区三区四区的功能| 一区2区3区在线看| 欧美一区二区三区视频| 久久国产精品色婷婷| 国产日产欧美精品一区二区三区| 99在线精品免费| 婷婷国产v国产偷v亚洲高清| 精品国产精品网麻豆系列| 高清av一区二区| 亚洲一区在线播放| 精品久久五月天| 99久久99久久免费精品蜜臀| 亚洲第一会所有码转帖| 久久久噜噜噜久噜久久综合| 成人av动漫网站| 日韩国产精品久久久久久亚洲| 久久久久久日产精品| 在线免费亚洲电影|