Для тех, кто не знает, как использовать PDO (исходя из функций В основном читайте mysql_
), я сделал очень, очень простую PDO-обертку , которая представляет собой один файл. Он существует, чтобы показать, насколько легко выполнять все обычные приложения, которые необходимо выполнить. Работает с PostgreSQL, MySQL и SQLite.
Мне нужен один столбец
$count = DB::column('SELECT COUNT(*) FROM `user`);
Мне нужны результаты массива (key => value) (т. е. для создания selectbox)
$pairs = DB::pairs('SELECT `id`, `username` FROM `user`);
Мне нужен результат одной строки
$user = DB::row('SELECT * FROM `user` WHERE `id` = ?', array($user_id));
Мне нужен массив результатов
$banned_users = DB::fetch('SELECT * FROM `user` WHERE `banned` = ?', array(TRUE));
Я всегда использовал его на командной строке и не как библиотека, но , HTMLDOC дает мне превосходные результаты, и это обрабатывает [по крайней мере 112] [приблизительно 112] CSS (я не мог легко видеть сколько).
Вот демонстрационная командная строка
htmldoc --webpage -t pdf --size letter --fontsize 10pt index.html > index.pdf
Это не открытый исходный код, но можно, по крайней мере, получить бесплатную персональную лицензию использования на принц , который действительно делает прекрасное задание.
Попробуйте ABCpdf из webSupergoo. Это коммерческое решение, а не с открытым исходным кодом, но стандартную версию можно получить бесплатно, и она будет делать то, что вы просите.
ABCpdf полностью поддерживает HTML и CSS, живые формы и живые ссылки. Он также использует основные службы Microsoft XML (MSXML) при рендеринге, поэтому результаты должны точно соответствовать тому, что вы видите в Internet Explorer.
Интерактивная демонстрация может использоваться для тестирования рендеринга HTML в PDF без необходимости установки какого-либо программного обеспечения. См .: http://www.abcpdfeditor.com/
В следующем примере кода C # показано, как визуализировать одностраничный HTML-документ.
Doc theDoc = new Doc();
theDoc.AddImageUrl("http://www.example.com/");
theDoc.Save("htmlimport.pdf");
theDoc.Clear();
Для визуализации нескольких страниц вам понадобится функция AddImageToChain, описанная здесь: http://www.websupergoo.com/helppdf7net/source/5-abcpdf6/doc/1-methods/ addimagetochain.htm