1. Go to this page and download the library: Download ddn/sapp 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/ */
ddn / sapp example snippets
use ddn\sapp\PDFDoc;
string(file_get_contents("/path/to/my/pdf/file.pdf"));
echo $obj->to_pdf_file_s(true);
use ddn\sapp\PDFDoc;
fwrite(STDERR, sprintf("usage: %s <filename>", $argv[0]));
else {
if (!file_exists($argv[1]))
fwrite(STDERR, "failed to open file " . $argv[1]);
else {
$obj = PDFDoc::from_string(file_get_contents($argv[1]));
if ($obj === false)
fwrite(STDERR, "failed to parse file " . $argv[1]);
else
echo $obj->to_pdf_file_s(true);
}
}
use ddn\sapp\PDFDoc;
fwrite(STDERR, sprintf("usage: %s <filename> <certfile>", $argv[0]));
else {
if (!file_exists($argv[1]))
fwrite(STDERR, "failed to open file " . $argv[1]);
else {
// Silently prompt for the password
fwrite(STDERR, "Password: ");
system('stty -echo');
$password = trim(fgets(STDIN));
system('stty echo');
fwrite(STDERR, "\n");
$file_content = file_get_contents($argv[1]);
$obj = PDFDoc::from_string($file_content);
if ($obj === false)
fwrite(STDERR, "failed to parse file " . $argv[1]);
else {
if (!$obj->set_signature_certificate($argv[2], $password)) {
fwrite(STDERR, "the certificate is not valid");
} else {
$docsigned = $obj->to_pdf_file_s();
if ($docsigned === false)
fwrite(STDERR, "could not sign the document");
else
echo $docsigned;
}
}
}
}
use ddn\sapp\PDFDoc;
fwrite(STDERR, sprintf("usage: %s <filename> <image> <certfile>", $argv[0]));
else {
if (!file_exists($argv[1]))
fwrite(STDERR, "failed to open file " . $argv[1]);
else {
fwrite(STDERR, "Password: ");
system('stty -echo');
$password = trim(fgets(STDIN));
system('stty echo');
fwrite(STDERR, "\n");
$file_content = file_get_contents($argv[1]);
$obj = PDFDoc::from_string($file_content);
if ($obj === false)
fwrite(STDERR, "failed to parse file " . $argv[1]);
else {
$signedDoc = $obj->sign_document($argv[3], $password, 0, $argv[2]);
if ($signedDoc === false) {
fwrite(STDERR, "failed to sign the document");
} else {
$docsigned = $signedDoc->to_pdf_file_s();
if ($docsigned === false)
fwrite(STDERR, "could not sign the document");
else
echo $docsigned;
}
}
}
}
...
$obj->set_signature_appearance(0, [ $p_x, $p_y, $p_x + $i_w, $p_y + $i_h ], $image);
if (!$obj->set_signature_certificate($argv[3], $password)) {
fwrite(STDERR, "the certificate is not valid");
} else {
$docsigned = $obj->to_pdf_file_s();
if ($docsigned === false)
fwrite(STDERR, "could not sign the document");
else
echo $docsigned;
}
...
foreach ($obj->get_object_iterator() as $oid => $object) {
if ($object === false)
continue;
if ($object["Filter"] == "/FlateDecode") {
/* Getting the stream with raw flag set to "false" will process the stream prior to returning it */
$stream = $object->get_stream(false);
if ($stream !== false) {
unset($object["Filter"]);
/* Setting the stream with raw flag set to "false" will process the stream, although in this case it is not important, because we removed the filter.*/
$object->set_stream($stream, false);
$obj->add_object($object);
}
}
}
echo $obj->to_pdf_file_s(true);