Tambahkan Tanda Air menggunakan PHP ke PDF yang Ada atau Baru

0
(0)

oleh Vincy. Terakhir diubah pada 16 Juli 2022.

FPDF adalah perpustakaan yang fantastis untuk bekerja dengan dokumen PDF di PHP. Ini adalah yang paling populer dengan sejumlah besar plugin yang meningkatkan fitur intinya.

Menambahkan tanda air ke dokumen PDF adalah kebutuhan dasar dalam pekerjaan pengeditan dokumen. Bayangkan Anda memiliki proyek di mana Anda perlu membuat proyek editor dokumen PDF yang kaya fitur dengan satu-satunya tujuan mengelola tanda air.

Skrip PHP ini akan membantu Anda sebagai kode dasar untuk menyelesaikan kebutuhan dasar watermarking Anda. Anda dapat menggunakan ini sebagai dasar dan membangun di atasnya jika Anda membutuhkan lebih banyak.

Saya telah membahas dua aspek menambahkan tanda air.

  1. Tambahkan tanda air ke yang ada dokumen PDF.
  2. Tambahkan tanda air ke a baru dokumen PDF.

Saya juga menyajikan demo online yang memberi tanda air pada dokumen PDF menggunakan skrip PHP ini.

Jika Anda mencari untuk menambahkan tanda air ke halaman web dengan gambar yang dihasilkan menggunakan PHP, lihat artikel tertaut ini.

Lihat demo

PDF Tanda Air PHP

Tambahkan tanda air ke dokumen PDF yang ada

Untuk menambahkan tanda air ke dokumen PDF yang ada, saya menggunakan perpustakaan FPDF dan FPDI. FPDF adalah fondasi dan FPDI digunakan untuk memuat dan mengedit dokumen yang ada.

FPDI membantu memuat dokumen PDF yang ada dan menggunakannya sebagai template di FPDF untuk membuat dokumen.

Anda perlu mengunduh pustaka FPDF dan FPDI dan menambahkannya ke proyek. Lihat gambar struktur file proyek di bawah ini.

Saya sebelumnya telah menulis dengan contoh untuk mengonversi HTML ke PDF dalam JavaScript. Check it out dan dapat membantu Anda.

ada-pdf-watermark.php

<?php
require_once __DIR__ . '/fpdf/fpdf.php';
require_once __DIR__ . '/FPDI/src/autoload.php';

function addWatermark($x, $y, $watermarkText, $angle, $pdf)
{
    $angle = $angle * M_PI / 180;
    $c = cos($angle);
    $s = sin($angle);
    $cx = $x * 1;
    $cy = (300 - $y) * 1;
    $pdf->_out(sprintf('q %.5F %.5F %.5F %.5F %.2F %.2F cm 1 0 0 1 %.2F %.2F cm', $c, $s, - $s, $c, $cx, $cy, - $cx, - $cy));
    $pdf->Text($x, $y, $watermarkText);
    $pdf->_out('Q');
}

$pdf = new setasignFpdiFpdi();
$fileInput="example.pdf";
$pages_count = $pdf->setSourceFile($fileInput);
for ($i = 1; $i <= $pages_count; $i ++) {
    $pdf->AddPage();
    $tplIdx = $pdf->importPage($i);
    $pdf->useTemplate($tplIdx, 0, 0);
    $pdf->SetFont('Times', 'B', 70);
    $pdf->SetTextColor(192, 192, 192);
    $watermarkText="CONFIDENTIAL";
    addWatermark(105, 220, $watermarkText, 45, $pdf);
    $pdf->SetXY(25, 25);
}
$pdf->Output();
?>

Tambahkan tanda air ke dokumen PDF baru

Mengikuti skrip PHP sesederhana yang didapat. Fungsi Header digunakan untuk merender header halaman dokumen PDF. Ini disebut oleh fungsi AddPage.

addWatermark adalah fungsi utama yang bertanggung jawab untuk membuat tanda air. Ini mengatur teks tanda air dan melakukan rotasi untuk memposisikannya di seluruh dokumen. Lokasi X dan Y tempat memulai teks tanda air dan warnanya ditentukan dalam fungsi Header.

Anda dapat melakukan penyesuaian dengan mengatur font, posisi, warna, dll yang lebih kecil sesuai pilihan Anda.

new-pdf-watermark.php

<?php
require __DIR__ . '/fpdf/fpdf.php';

class PDF extends FPDF
{

    function Header()
    {
        // setting the font, color and text for watermark
        $this->SetFont('Times', 'B', 48);
        $this->SetTextColor(140, 180, 205);
        $watermarkText="New PDF Watermark - PHP";
        $this->addWatermark(35, 190, $watermarkText, 45);
    }

    function addWatermark($x, $y, $watermarkText, $angle)
    {
        $angle = $angle * M_PI / 180;
        $c = cos($angle);
        $s = sin($angle);
        $cx = $x * $this->k;
        $cy = ($this->h - $y) * $this->k;
        $this->_out(sprintf('q %.5F %.5F %.5F %.5F %.2F %.2F cm 1 0 0 1 %.2F %.2F cm', $c, $s, - $s, $c, $cx, $cy, - $cx, - $cy));
        $this->Text($x, $y, $watermarkText);
        $this->_out('Q');
    }
}

$pdf = new PDF();
$pdf->AddPage();
$pdf->SetFont('Arial', '', 12);
$pdfDocumentContent = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. .nn";
for ($i = 0; $i < 15; $i ++) {
    $pdf->MultiCell(0, 5, $pdfDocumentContent, 0, 'J');
}
$pdf->Output();
?>

struktur proyek PHP

Struktur Proyek Tanda Air PHP PDF

Saya telah memberikan proyek PHP lengkap sebagai unduhan gratis di bawah ini. Pustaka dependen FPDF dan FPDI tidak tersedia dalam file zip unduhan proyek. Anda dapat mengunduhnya dari situs web resmi mereka dan menambahkannya ke proyek Anda sesuai dengan struktur proyek yang diberikan di atas sebelum menambahkan tanda air.

Lihat demo Unduh

Kembali ke Atas



Source link

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.


Notice: ob_end_flush(): failed to send buffer of zlib output compression (0) in /home/breatgem/widiyanata.com/wp-includes/functions.php on line 4755