PdfHandler Debugging: verschil tussen versies
Uiterlijk
Geen bewerkingssamenvatting Label: bewerking met nieuwe wikitekstmodus |
Geen bewerkingssamenvatting Label: bewerking met nieuwe wikitekstmodus |
||
| Regel 68: | Regel 68: | ||
| Standardize on one processor and document choice | | Standardize on one processor and document choice | ||
|} | |} | ||
== PdfHandler Configuration == | |||
<pre> | |||
wfLoadExtension( 'PdfHandler' ); | |||
$wgShellbox = false; // Disable shellbox if you configure paths manually | |||
// Configure paths using the *absolute paths* found via 'which' commands | |||
// We use the full path to the binaries in /opt/bin/ | |||
$wgPdfProcessor = '/opt/bin/gs'; | |||
$wgImageMagickConvertCommand = '/opt/bin/convert'; | |||
$wgPdfInfo = '/opt/bin/pdfinfo'; | |||
$wgPdftoText = '/opt/bin/pdftotext'; | |||
// Ensure MediaWiki knows to use ImageMagick for processing | |||
$wgUseImageMagick = true; | |||
// The 'wgPdfPostProcessor' variable is usually not required when | |||
// 'wgImageMagickConvertCommand' is set and $wgUseImageMagick is true. | |||
// $wgPdfPostProcessor = 'convert'; | |||
# Output and quality | |||
$wgPdfOutputExtension = 'jpg'; | |||
$wgPdfHandlerDpi = 150; | |||
$wgPdfHandlerJpegQuality = 95; | |||
$wgPdfThumbnailType = 'jpg'; | |||
$wgPdfPagePreview = true; | |||
$wgPdfHandlerPreviewWidth = 800; | |||
$wgPdfHandlerPreviewHeight = 600; | |||
$wgMaxShellMemory = 2097152; | |||
</pre> | |||
=== Explanation === | |||
* '''wfLoadExtension( 'PdfHandler' );''' – Loads the PdfHandler extension. | |||
* '''$wgShellbox = false;''' – Disables Shellbox, since paths are configured manually. | |||
* '''Absolute paths''' – Each binary (`gs`, `convert`, `pdfinfo`, `pdftotext`) must be set to the full path found via `which`. | |||
* '''$wgUseImageMagick = true;''' – Ensures MediaWiki uses ImageMagick for PDF rendering. | |||
* '''$wgPdfPostProcessor''' – Normally not required when `convert` is set and ImageMagick is enabled. | |||
* '''Output settings''' – Previews and thumbnails are generated as JPG with DPI 150 and JPEG quality 95. | |||
* '''Preview dimensions''' – Width 800px, height 600px for page previews. | |||
* '''$wgMaxShellMemory''' – Sets memory limit for shell commands (here ~2 GB). | |||
=== Successor Notes === | |||
* Always verify paths after Entware installation (`which gs`, `which convert`). | |||
* Keep `Shellbox` disabled unless you migrate to a containerized setup. | |||
* Document chosen processor (Ghostscript vs ImageMagick) for consistency. | |||
* Adjust DPI/quality if storage or performance becomes an issue. | |||
Versie van 9 dec 2025 19:10
PdfHandler Troubleshooting: Restart Routine
When adjusting PdfHandler prerequisites (Entware binaries, PATH updates, or MediaWiki configuration), make sure to restart both WebStation and the MediaWiki package.
Steps
- Verify prerequisites are installed and callable:
which gs which pdftoppm which magick
- Restart **WebStation**:
Control Panel → Web Services → WebStation → Restart
- Restart **MediaWiki package**:
Package Center → Installed → MediaWiki → Restart
- Clear cached test files if needed:
rm /volume1/web/mediawiki/images/*.pdf rm /volume1/web/mediawiki/images/thumb/*.pdf
- Upload a fresh PDF and confirm thumbnails are generated.
Notes
- Restarting WebStation alone may not reload MediaWiki’s environment variables.
- Restarting MediaWiki ensures new PATH and handler settings are applied.
- Always document the rationale for successors: “Restart both packages after changes.”
| Symptom | Likely Cause | Diagnostic Step | Fix / Routine |
|---|---|---|---|
| PDF upload shows no preview | Missing or mis-set `$wgPdfPostProcessor` | Check `LocalSettings.php` for correct binary path | Set to `magick` (ImageMagick v7) or `gs` (Ghostscript) as installed |
| Error: "open_basedir restriction" | DSM PHP configuration limits | Inspect `php.ini` and DSM Web Station settings | Add required paths to `open_basedir` or disable restriction for MediaWiki |
| PdfHandler fails silently | PATH not updated for Entware binaries | Run `which gs` / `which pdftoppm` via SSH | Update PATH in `LocalSettings.php` or DSM task scheduler |
| Wrong command syntax in `$wgPdfPostProcessor` | Dash or argument misconfiguration | Compare with PdfHandler documentation | Correct to `gs -q -dNOPAUSE -dBATCH ...` or `magick convert ...` |
| Preview works but thumbnails broken | ImageMagick vs Ghostscript mismatch | Test both processors manually | Standardize on one processor and document choice |
PdfHandler Configuration
wfLoadExtension( 'PdfHandler' ); $wgShellbox = false; // Disable shellbox if you configure paths manually // Configure paths using the *absolute paths* found via 'which' commands // We use the full path to the binaries in /opt/bin/ $wgPdfProcessor = '/opt/bin/gs'; $wgImageMagickConvertCommand = '/opt/bin/convert'; $wgPdfInfo = '/opt/bin/pdfinfo'; $wgPdftoText = '/opt/bin/pdftotext'; // Ensure MediaWiki knows to use ImageMagick for processing $wgUseImageMagick = true; // The 'wgPdfPostProcessor' variable is usually not required when // 'wgImageMagickConvertCommand' is set and $wgUseImageMagick is true. // $wgPdfPostProcessor = 'convert'; # Output and quality $wgPdfOutputExtension = 'jpg'; $wgPdfHandlerDpi = 150; $wgPdfHandlerJpegQuality = 95; $wgPdfThumbnailType = 'jpg'; $wgPdfPagePreview = true; $wgPdfHandlerPreviewWidth = 800; $wgPdfHandlerPreviewHeight = 600; $wgMaxShellMemory = 2097152;
Explanation
- wfLoadExtension( 'PdfHandler' ); – Loads the PdfHandler extension.
- $wgShellbox = false; – Disables Shellbox, since paths are configured manually.
- Absolute paths – Each binary (`gs`, `convert`, `pdfinfo`, `pdftotext`) must be set to the full path found via `which`.
- $wgUseImageMagick = true; – Ensures MediaWiki uses ImageMagick for PDF rendering.
- $wgPdfPostProcessor – Normally not required when `convert` is set and ImageMagick is enabled.
- Output settings – Previews and thumbnails are generated as JPG with DPI 150 and JPEG quality 95.
- Preview dimensions – Width 800px, height 600px for page previews.
- $wgMaxShellMemory – Sets memory limit for shell commands (here ~2 GB).
Successor Notes
- Always verify paths after Entware installation (`which gs`, `which convert`).
- Keep `Shellbox` disabled unless you migrate to a containerized setup.
- Document chosen processor (Ghostscript vs ImageMagick) for consistency.
- Adjust DPI/quality if storage or performance becomes an issue.