芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/cloud.pulsehost.co.uk/vendor/knplabs/knp-snappy/README.md
# Snappy  [](https://ci.appveyor.com/project/NiR-/snappy) [](https://scrutinizer-ci.com/g/KnpLabs/Gaufrette/?branch=master) Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. It uses the excellent webkit-based [wkhtmltopdf and wkhtmltoimage](http://wkhtmltopdf.org/) available on OSX, linux, windows. You will have to download wkhtmltopdf `0.12.x` in order to use Snappy. Please, check [FAQ](doc/faq.md) before opening a new issue. Snappy is a tiny wrapper around wkhtmltox, so lots of issues are already answered, resolved or wkhtmltox ones. Following integrations are available: * [`knplabs/knp-snappy-bundle`](https://github.com/KnpLabs/KnpSnappyBundle), for Symfony * [`barryvdh/laravel-snappy`](https://github.com/barryvdh/laravel-snappy), for Laravel * [`mvlabs/mvlabs-snappy`](https://github.com/mvlabs/MvlabsSnappy), for Zend Framework ## Installation using [Composer](http://getcomposer.org/) ```bash composer require knplabs/knp-snappy ``` ## Usage ### Initialization ```php setBinary('/usr/local/bin/wkhtmltopdf'); ``` ### Display the pdf in the browser ```php $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); header('Content-Type: application/pdf'); echo $snappy->getOutput('http://www.github.com'); ``` ### Download the pdf from the browser ```php $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="file.pdf"'); echo $snappy->getOutput('http://www.github.com'); ``` ### Merge multiple urls into one pdf ```php $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="file.pdf"'); echo $snappy->getOutput(array('http://www.github.com','http://www.knplabs.com','http://www.php.net')); ``` ### Generate local pdf file ```php $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); $snappy->generateFromHtml('
Bill
You owe me money, dude.
', '/tmp/bill-123.pdf'); ``` ### Pass options to snappy ```php // Type wkhtmltopdf -H to see the list of options $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); $snappy->setOption('disable-javascript', true); $snappy->setOption('no-background', true); $snappy->setOption('allow', array('/path1', '/path2')); $snappy->setOption('cookie', array('key' => 'value', 'key2' => 'value2')); $snappy->setOption('post', array('key' => 'value')); $snappy->setOption('cover', 'pathToCover.html'); // .. or pass a cover as html $snappy->setOption('cover', '
Bill cover
'); $snappy->setOption('toc', true); $snappy->setOption('cache-dir', '/path/to/cache/dir'); ``` ### Reset options Options can be reset to their initial values with `resetOptions()` method. ```php $snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); // Set some options $snappy->setOption('copies' => 4); // .. // Reset options $snappy->resetOptions(); ``` ## wkhtmltopdf binary as composer dependencies If you want to download wkhtmltopdf and wkhtmltoimage with composer you add to `composer.json`: ```bash composer require h4cc/wkhtmltopdf-i386 0.12.x composer require h4cc/wkhtmltoimage-i386 0.12.x ``` or this if you are in 64 bit based system: ```bash composer require h4cc/wkhtmltopdf-amd64 0.12.x composer require h4cc/wkhtmltoimage-amd64 0.12.x ``` And then you can use it ```php setOption('toc', true); $snappy->setOption('xsl-style-sheet', 'http://path/to/stylesheet.xsl') //or local file; $snappy->generateFromHtml('
Some content
', 'test.pdf'); ``` ## Bugs & Support If you found a bug please fill a detailed issue with all the following points. If you need some help, please at least provide a complete reproducer so we could help you based on facts rather than assumptions. * OS and its version * Wkhtmltopdf, its version and how you installed it * A complete reproducer with relevant php and html/css/js code If your reproducer is big, please try to shrink it. It will help everyone to narrow the bug. ## Maintainers KNPLabs is looking for maintainers ([see why](https://knplabs.com/en/blog/news-for-our-foss-projects-maintenance)). If you are interested, feel free to open a PR to ask to be added as a maintainer. We’ll be glad to hear from you :) ## Credits Snappy has been originally developed by the [KnpLabs](http://knplabs.com) team.