1 // -*- mode: c++; tab-width: 4; indent-tabs-mode: t; eval: (progn (c-set-style "stroustrup") (c-set-offset 'innamespace 0)); -*-
2 // vi:set ts=4 sts=4 sw=4 noet :
3 //
4 // Copyright 2010-2020 wkhtmltopdf authors
5 //
6 // This file is part of wkhtmltopdf.
7 //
8 // wkhtmltopdf is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU Lesser General Public License as published by
10 // the Free Software Foundation, either version 3 of the License, or
11 // (at your option) any later version.
12 //
13 // wkhtmltopdf is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public License
19 // along with wkhtmltopdf.  If not, see <http://www.gnu.org/licenses/>.
20 
21 /**
22  * \mainpage
23  *
24  * libwkhtmltox is divided into several parts.
25  *
26  * \section PDFH To PDF c-bindings
27  *
28  * The file \ref pdf.h contains a
29  * fairly high level and stable pure c binding to wkhtmltopdf.  These
30  * binding are well documented and do not depend on QT.  Using this is
31  * the recommended way of interfacing with the PDF portion of
32  * libwkhtmltox.
33  *
34  * Using these binding it is relatively straight forward to convert one
35  * or more HTML document to a PDF file, using the following process:
36  *
37  * - \ref wkhtmltopdf_init is called.
38  * - A \ref wkhtmltopdf_global_settings object is creating by calling
39  *   \ref wkhtmltopdf_create_global_settings.
40  * - Non web page specific \ref pagesettings for the conversion are set by multiple
41  *   calls to \ref wkhtmltopdf_set_global_setting.
42  * - A \ref wkhtmltopdf_converter object is created by calling
43  *   \ref wkhtmltopdf_create_converter, which consumes the global_settings instance.
44  * - A number of object (web pages) are added to the conversion process, this is done by
45  *   - Creating a \ref wkhtmltopdf_object_settings instance by calling
46  *     \ref wkhtmltopdf_create_object_settings.
47  *   - Setting web page specific \ref pagesettings by multiple calls to
48  *     \ref wkhtmltopdf_set_object_setting.
49  *   - Adding the object to the conversion process by calling \ref wkhtmltopdf_add_object
50  * - A number of callback function are added to the converter object.
51  * - The conversion is performed by calling \ref wkhtmltopdf_convert.
52  * - The converter object is destroyed by calling \ref wkhtmltopdf_destroy_converter.
53  *
54  * \section IMAGEH To image c-bindings
55  *
56  * The file \ref image.h contains a
57  * fairly high level and stable pure c binding to wkhtmltoimage.  These
58  * binding are well documented and do not depend on QT.  Using this is
59  * the recommended way of interfacing with the image portion of
60  * libwkhtmltox.
61  *
62  * Using these binding it is relatively straight forward to convert one
63  * or more HTML document to a raster image or SVG document, using the following process:
64  *
65  * - \ref wkhtmltoimage_init is called.
66  * - A \ref wkhtmltoimage_global_settings object is creating by calling
67  *   \ref wkhtmltoimage_create_global_settings.
68  * - \ref pagesettings for the conversion are set by multiple
69  *   calls to \ref wkhtmltoimage_set_global_setting.
70  * - A \ref wkhtmltoimage_converter object is created by calling
71  *   \ref wkhtmltoimage_create_converter, which consumes the global_settings instance.
72  * - A number of callback function are added to the converter object.
73  * - The conversion is performed by calling \ref wkhtmltoimage_convert.
74  * - The converter object is destroyed by calling \ref wkhtmltoimage_destroy_converter.
75  *
76  * \section RESTH The rest of the headers.
77  *
78  * The rest of the headers directly exposes the C++ QT dependent class
79  * used internally by wkhtmltopdf and wkhtmltoimage. They are not
80  * fairly well documented and are not guaranteed to remain stable.
81  * unless you know what you are doing you should not use these bindings.
82  *
83  */
84