Tambahkan tanda air ke PDF yang ada atau baru menggunakan PHP

Programming

Oleh Vinci terakhir diubah pada 16 Juli 2022.

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

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

Skrip PHP ini akan membantu Anda sebagai basis kode untuk memenuhi kebutuhan dasar watermarking Anda. Anda dapat menggunakan ini sebagai dasar dan membangun lebih banyak jika diperlukan.

Saya telah membahas dua aspek menambahkan tanda air.

  1. Tambahkan tanda air ke satu Tersedia dokumen PDF.
  2. Tambahkan tanda air ke a Baru dokumen PDF.

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

Jika Anda ingin menambahkan tanda air ke halaman web dengan gambar yang dihasilkan menggunakan PHP, lihat artikel terkait ini.

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 dasar 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 dan menambahkan pustaka FPDF dan FPDI ke proyek. Lihat gambar struktur file proyek di bawah ini.

tersedia-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 \setasign\Fpdi\Fpdi();
$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

Sesederhana itu untuk mengikuti skrip PHP. Fungsi Header digunakan untuk menampilkan header halaman dari dokumen PDF. Ini disebut oleh fungsi AddPage.

addWatermark adalah fungsi utama yang bertanggung jawab untuk membuat tanda air. Mengatur teks tanda air dan memutarnya agar pas di seluruh dokumen. Posisi X dan Y dari titik awal teks tanda air dan warnanya ditentukan dalam fungsi Header.

Anda dapat melakukan penyesuaian dengan mengatur font, posisi, warna, dll, sesuai dengan 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. .\n\n";
for ($i = 0; $i < 15; $i ++) {
    $pdf->MultiCell(0, 5, $pdfDocumentContent, 0, 'J');
}
$pdf->Output();
?>

struktur proyek PHP

Struktur proyek Watermark PDF PHP

Saya telah menyertakan proyek PHP lengkap secara 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.

Unduh

Kembali ke atas


Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *