1. Go to this page and download the library: Download pinetree/php-pdftk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
pinetree / php-pdftk example snippets
use mikehaertl\pdftk\Pdf;
// Fill form with data array
$pdf = new Pdf('/full/path/to/form.pdf');
$pdf->fillForm([
'name'=>'ÄÜÖ äüö мирано čárka',
'nested.name' => 'valX',
])
->needAppearances()
->saveAs('filled.pdf');
// Fill form from FDF
$pdf = new Pdf('form.pdf');
$pdf->fillForm('data.xfdf')
->saveAs('filled.pdf');
// Check for errors
if (!$pdf->saveAs('my.pdf')) {
$error = $pdf->getError();
}
use mikehaertl\pdftk\XfdfFile;
use mikehaertl\pdftk\FdfFile;
$xfdf = new XfdfFile(['name' => 'Jürgen мирано']);
$xfdf->saveAs('/path/to/data.xfdf');
$fdf = new FdfFile(['name' => 'Jürgen мирано']);
$fdf->saveAs('/path/to/data.fdf');
use mikehaertl\pdftk\Pdf;
// Extract pages 1-5 and 7,4,9 into a new file
$pdf = new Pdf('/path/to/my.pdf');
$pdf->cat(1, 5)
->cat([7, 4, 9])
->saveAs('/path/to/new.pdf');
// Combine pages from several files, demonstrating several ways how to add files
$pdf = new Pdf([
'A' => '/path/file1.pdf', // A is alias for file1.pdf
'B' => ['/path/file2.pdf','pass**word'], // B is alias for file2.pdf
]);
$pdf->addFile('/path/file3.pdf','C','**secret**pw'); // C is alias file3.pdf
$pdf->cat(1, 5, 'A') // pages 1-5 from A
->cat(3, null, 'B') // page 3 from B
->cat(7, 'end', 'B', null, 'east') // pages 7-end from B, rotated East
->cat('end',3,'A','even') // even pages 3-end in reverse order from A
->cat([2,3,7], 'C') // pages 2,3 and 7 from C
->saveAs('/path/new.pdf');
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf([
'A' => '/path/file1.pdf', // A is alias for file1.pdf
'B' => '/path/file2.pdf', // B is alias for file2.pdf
]);
// new.pdf will have pages A1, B3, A2, B4, A3, B5, ...
$pdf->shuffle(1, 5, 'A') // pages 1-5 from A
->shuffle(3, 8, 'B') // pages 3-8 from B
->saveAs('/path/new.pdf');
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf('/path/my.pdf');
$pdf->burst('/path/page_%d.pdf'); // Supply a printf() pattern
use mikehaertl\pdftk\Pdf;
// Set background from another PDF (first page repeated)
$pdf = new Pdf('/path/my.pdf');
$pdf->background('/path/back.pdf')
->saveAs('/path/watermarked.pdf');
// Set background from another PDF (one page each)
$pdf = new Pdf('/path/my.pdf');
$pdf->multiBackground('/path/back_pages.pdf')
->saveAs('/path/watermarked.pdf');
use mikehaertl\pdftk\Pdf;
// Stamp with another PDF (first page repeated)
$pdf = new Pdf('/path/my.pdf');
$pdf->stamp('/path/overlay.pdf')
->saveAs('/path/stamped.pdf');
// Stamp with another PDF (one page each)
$pdf = new Pdf('/path/my.pdf');
$pdf->multiStamp('/path/overlay_pages.pdf')
->saveAs('/path/stamped.pdf');
use mikehaertl\pdftk\Pdf;
// Create FDF from PDF
$pdf = new Pdf('/path/form.pdf');
$pdf->generateFdfFile('/path/data.fdf');
use mikehaertl\pdftk\Pdf;
// Get data
$pdf = new Pdf('/path/my.pdf');
$data = $pdf->getData();
// Get form data fields
$pdf = new Pdf('/path/my.pdf');
$data = $pdf->getDataFields();
// Get data as string
echo $data;
$txt = (string) $data;
$txt = $data->__toString();
// Get data as array
$arr = (array) $data;
$arr = $data->__toArray();
$field1 = $data[0]['Field1'];
use mikehaertl\pdftk\Pdf;
// Extract pages 1-5 and 7,4,9 into a new file
$pdf = new Pdf('/path/my.pdf');
$pdf->cat(1, 5)
->cat([7, 4, 9]);
// We now use the above PDF as source file for a new PDF
$pdf2 = new Pdf($pdf);
$pdf2->fillForm(['name' => 'ÄÜÖ äüö мирано čárka'])
->needAppearances()
->saveAs('/path/filled.pdf');
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf('/path/my.pdf');
$pdf->allow('AllFeatures') // Change permissions
->flatten() // Merge form data into document (doesn't work well with UTF-8!)
->compress($value) // Compress/Uncompress
->keepId('first') // Keep first/last Id of combined files
->dropXfa() // Drop newer XFA form from PDF
->dropXmp() // Drop newer XMP data from PDF
->needAppearances() // Make clients create appearance for form fields
->setPassword($pw) // Set owner password
->setUserPassword($pw) // Set user password
->passwordEncryption(128) // Set password encryption strength
->saveAs('new.pdf');
// Example: Fill PDF form and merge form data into PDF
// Fill form with data array
$pdf = new Pdf('/path/form.pdf');
$pdf->fillForm(['name' => 'My Name'])
->flatten()
->saveAs('/path/filled.pdf');
// Example: Remove password from a PDF
$pdf = new Pdf;
$pdf->addFile('/path/my.pdf', null, 'some**password')
->saveAs('/path/new.pdf');
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf('/path/my.pdf', [
'command' => '/some/other/path/to/pdftk',
// or on most Windows systems:
// 'command' => 'C:\Program Files (x86)\PDFtk\bin\pdftk.exe',
'useExec' => true, // May help on Windows systems if execution fails
]);
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf('/path/my.pdf');
$pdf->fillForm(['name' => 'My Name'])
->execute();
$content = file_get_contents( (string) $pdf->getTmpFile() );
use mikehaertl\pdftk\Pdf;
$pdf = new Pdf('/path/my.pdf');
$pdf->tempDir = '/home/john/temp';
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.