Selasa, 27 Oktober 2015

Cara memasukan gambar ke dalam PDF menggunakan Delphi 7

Tutorial kali ini adalah bagaimana cara memasukan gambar ke dalam file PDF menggunakan synPDF dan Delphi 7. Berikut adalah contoh bagaimana cara memasukkan gambar ke dalam PDF.

Pertama-tama buatlah sebuah file PDF menggunakan Delphi.
Uses synpdf;
…

Procedure pdffile();
Var Pdf:TPDFDocumentGDI;
Begin
// membuat PDF
  Pdf:= TPDFDocumentGDI.Create;
  Try
  // menambahkan halaman pada PDF
    Pdf.AddPage;

  // menentukan ukuran halaman PDF
    Pdf.DefaultPaperSize:=psA4;

  // menyimpan file pdf
    pdf.SaveToFile(extractfilepath(paramstr(0))+'test_1.pdf');
  Finally Pdf.Free; end;
End;
  1. Menggambar langsung di PDF
    Procedure pdffile();
    Var Pdf:TPDFDocumentGDI;
    Begin
    // membuat PDF
      Pdf:= TPDFDocumentGDI.Create;
      Try
      // menambahkan halaman pada PDF
        Pdf.AddPage;
    
      // menentukan ukuran halaman PDF
        Pdf.DefaultPaperSize:=psA4;
    
      // menggambar lingkaran merah di dalam PDF
        pdf.VCLCanvas.Brush.Color:=clred;
        pdf.VCLCanvas.Ellipse(100,100,200,200);
    
      // menyimpan file pdf
        pdf.SaveToFile(extractfilepath(paramstr(0))+'test_1.pdf');
      Finally Pdf.Free; end;
    End;
    
  2. Membuat gambar secara runtime dan memasukkan ke dalam PDF
    Procedure pdffile();
    Var Pdf:TPDFDocumentGDI;
        BMP:TBitmap;
    Begin
    // membuat PDF
      Pdf:= TPDFDocumentGDI.Create;
    
    // membuat data Bitmap
      BMP:=TBitmap.Create;
    
      Try
      // menambahkan halaman pada PDF
        Pdf.AddPage;
      // menentukan ukuran halaman PDF
        Pdf.DefaultPaperSize:=psA4;
    
      // membuat data gambar bitmap
        Bmp.PixelFormat:=pf24bit;
        Bmp.Width:=150;
        Bmp.Height:=150;
        Bmp.Canvas.Brush.Color:=clblue;
        Bmp.Canvas.Ellipse(10,10,140,140);
    
      // menggambar lingkaran merah di dalam PDF
        Pdf.VCLCanvas.Brush.Color:=clred;
        Pdf.VCLCanvas.Ellipse(100,100,200,200);
      // menggambar bitmap ke PDF
        Pdf.VCLCanvas.Draw(100,250,Bmp);
    
    
      // menyimpan file pdf
        pdf.SaveToFile(extractfilepath(paramstr(0))+'test_2.pdf');
      Finally Pdf.Free; end;
    End;
    
  3. Memasukan file Bitmap/JPG ke dalam PDF
    Procedure pdffile();
    Var Pdf:TPDFDocumentGDI;
        JPG:TJPEGImage;
    Begin
      if openpicturedialog1.Execute then begin
    
    // membuat PDF
      Pdf:= TPDFDocumentGDI.Create;
    
    // membuat data JPEG
      JPG:=TJPEGImage.Create;
    
      Try
      // menambahkan halaman pada PDF
        Pdf.AddPage;
      // menentukan ukuran halaman PDF
        Pdf.DefaultPaperSize:=psA4;
    
      // mengambil file jpg
        jpg.LoadFromFile(openpicturedialog1.FileName);
    
      // menggambar jpg ke dalam PDF
        pdf.VCLCanvas.Draw(100,250,jpg);
    
    
      // menyimpan file pdf
        pdf.SaveToFile(extractfilepath(paramstr(0))+'test_3.pdf');
      Finally Pdf.Free; end;
      End;
    End;
    
  4. Memasukan file EMF kedalam PDF
    Procedure pdffile();
    Var Pdf:TPDFDocumentGDI;
        metafile:TMetaFile;
        MFCanvas:TMetafileCanvas;
    Begin
    // membuat PDF
      Pdf:= TPDFDocumentGDI.Create;
    
    // membuat data JPEG
      metafile:=TMetaFile.Create;
    
      Try
      // menambahkan halaman pada PDF
        Pdf.AddPage;
      // menentukan ukuran halaman PDF
        Pdf.DefaultPaperSize:=psA4;
    
      // menggambar lingkaran pada metafile
        MetaFile.SetSize(200, 200);
        try
          MFCanvas := TMetafileCanvas.Create(MetaFile, Canvas.Handle);
          MFCanvas.Brush.Color := clRed;
          MFCanvas.FloodFill(0, 0, clRed, fsBorder);
          MFCanvas.Ellipse(10, 10, 190, 190);
        finally
          MFCanvas.Free;
        end;
    
      // menggambar metafile ke dalam PDF
        pdf.VCLCanvas.Draw(100,250,MetaFile);
    
      // menyimpan file pdf
        pdf.SaveToFile(extractfilepath(paramstr(0))+'test_4.pdf');
      Finally Pdf.Free; end;
    End;
    

Tidak ada komentar:

Posting Komentar