use Cubist\Util\Files\Files;
use Cubist\PDF\PDFTools;
+use DOMDocument;
use Fluidbook\Tools\SVG\SVGTools;
class ProcessFile
public function makeSVGFile($force = false)
{
$svgFile = $this->getOut() . '/html/fp' . $this->getPage() . '.svg';
- if (!$force && file_exists($svgFile) && filesize($svgFile) > 0) {
+ if (!$force && file_exists($svgFile) && filesize($svgFile) > 0 && $this->_isSVGValid($svgFile)) {
return $svgFile;
}
PDFTools::makeBaseSVGFile($this->getSplittedPDFPage(), $svgFile, 1);
return $svgFile;
}
+ protected function _isSVGValid($file)
+ {
+ $svg = new DOMDocument();
+ $svg->preserveWhiteSpace = false;
+ $svg->load($file, LIBXML_PARSEHUGE);
+ return $svg->validate();
+ }
+
public function makeTextSVGFile($out)
{
$in = $this->makeSVGFile();
}
-
/**
* @return int
*/