/** @see https://mozilla.github.io/pdf.js/getting_started/#download */
protected $signature = 'updatepdfjs';
- protected const VERSION = '5.4.149';
+ protected const VERSION = '5.4.624';
//protected const VERSION = '3.11.174';
protected const JQUERY_VERSION = '3.7.1';
namespace App\Fluidbook\Compiler;
+use Cubist\Util\CommandLine;
use Cubist\Util\Text;
trait PDF
} else {
$pdf = \App\Fluidbook\PDF::compilePDF($this->getFluidbook(), type: 'onlytexts');
}
- $this->vdir->copy($pdf, 'data/texts.pdf');
+
+ if ($this->fluidbookSettings->pdfToCanvasOutline) {
+ $outlines = str_replace('.pdf', '.outlines.pdf', $pdf);
+ if (!file_exists($outlines) || filemtime($outlines) < filemtime($pdf)) {
+ $gs = new CommandLine('gs');
+ $gs->setArg('o', $outlines);
+ $gs->setManualArg('-dNoOutputFonts');
+ $gs->setManualArg('-sDEVICE=pdfwrite');
+ $gs->setArg(null, $pdf);
+ $gs->execute();
+ $gs->debug();
+ }
+ $texts = $outlines;
+ } else {
+ $texts = $pdf;
+ }
+
+ $this->vdir->copy($texts, 'data/texts.pdf');
}
}
'default' => 0,
]);
$this->_addSettingField('pdfToCanvasPDF', FilesOrURL::class, __('PDF pour le rendu PDF to Canvas'), ['when' => ['svgToCanvas' => 2]]);
+ $this->_addSettingField('pdfToCanvasOutline', Checkbox::class, __('Outline des texts du PDF'), ['when' => ['svgToCanvas' => 2], 'hint' => __('Permet de régler des problèmes de rendu de polices')]);
$this->_addSettingField('svgToCanvasUpscale', Number::class, $this->__('Upscale de la fonction svgtocanvas'), [
'default' => 1,
'when' => ['svgToCanvas' => 1],