diff --git a/src/app/convert/controllers/ConvertPdfController.php b/src/app/convert/controllers/ConvertPdfController.php index 7eab74f75b91cc5f8669904254fead59636536b1..35d64d130592e51176108b0d363369707e8d18ee 100755 --- a/src/app/convert/controllers/ConvertPdfController.php +++ b/src/app/convert/controllers/ConvertPdfController.php @@ -37,9 +37,8 @@ class ConvertPdfController $tmpPath = CoreConfigModel::getTmpPath(); - + self::addBom($aArgs['fullFilename']); $command = "unoconv -f pdf " . escapeshellarg($aArgs['fullFilename']); - exec('export HOME=' . $tmpPath . ' && '.$command.' 2>&1', $output, $return); @@ -94,6 +93,7 @@ class ConvertPdfController copy($pathToDocument, $tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]); if (strtolower($docInfo["extension"]) != 'pdf') { + self::addBom($tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]); $command = "unoconv -f pdf " . escapeshellarg($tmpPath.$fileNameOnTmp.'.'.$docInfo["extension"]); exec('export HOME=' . $tmpPath . ' && '.$command, $output, $return); @@ -148,6 +148,7 @@ class ConvertPdfController file_put_contents($tmpPath . $tmpFilename, base64_decode($aArgs['encodedResource'])); + self::addBom($tmpPath.$tmpFilename); $command = "unoconv -f pdf {$tmpPath}{$tmpFilename}"; exec('export HOME=' . $tmpPath . ' && '.$command, $output, $return); @@ -204,4 +205,13 @@ class ConvertPdfController return $canConvert; } + + public static function addBom($filePath) { + $extension = pathinfo($filePath, PATHINFO_EXTENSION); + if (strtolower($extension) == strtolower('txt')) { + $content = file_get_contents($filePath); + $bom = chr(239) . chr(187) . chr(191); # use BOM to be on safe side + file_put_contents($filePath, $bom.$content); + } + } }