Apache2, php7
установлено allow_url_fopen=1
ПДФ с других сайтов делается с картинок
код пхп:
require_once 'dompdf/autoload.inc.php';
//require_once 'PdfConverter.php';
use Dompdf\Dompdf;
use Dompdf\Options;
if (isset($_POST["pdf"]))
{
$url = urldecode($_POST["initialArticle"]);
$pdfTitle = substr($url, strpos($url, 'wiki/') +5);
$pdfTitle = str_replace("(", "_", $pdfTitle);
$pdfTitle = str_replace(")", "_", $pdfTitle);
//if , in $pdfTitle
if (strpos($pdfTitle, ","))
{
$pdfTitle = str_replace(",", "_", $pdfTitle);
}
$options = new Options();
$options->set('defaultFont', 'DejaVu Sans');
$dompdf = new Dompdf($options);
//an alleged workout to POST images into pdf
//according to https://github.com/dompdf/dompdf/wiki/Usage
$context = stream_context_create
(
[
'ssl' =>
[
'verify_peer' => FALSE,
'verify_peer_name' => FALSE,
'allow_self_signed'=> TRUE
]
]
);
$dompdf->setHttpContext($context);
$html = file_get_contents($url);
//handle $html of an article
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render($pdfTitle);
$output = $dompdf->output();
file_put_contents("/opt/lampp/htdocs/wikipdf.ru/$pdfTitle.pdf", $output);
}
вот например какой адрес картинки стоит в пдф статьи Python, где прямоугольник:
/wiki/Файл:Guido_van_Rossum_OSCON_2006.jpg
в статье у этой картинки такой код
<a href="//commons.wikimedia.org/wiki/File:Guido_van_Rossum_OSCON_2006.jpg?uselang=ru" class="image">
<img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/220px-Guido_van_Rossum_OSCON_2006.jpg" decoding="async" width="220" height="330" class="thumbimage" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/330px-Guido_van_Rossum_OSCON_2006.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/440px-Guido_van_Rossum_OSCON_2006.jpg 2x" data-file-width="2336" data-file-height="3504">
</a>