void HtmltoPDF::ConvertHtmltoPDF(std::string htmlTextData)
{
wkhtmltopdf_global_settings *global_settings;
wkhtmltopdf_object_settings *object_settings;
wkhtmltopdf_converter *Converter;
wkhtmltopdf_init(true);
global_settings = wkhtmltopdf_create_global_settings();
wkhtmltopdf_set_global_setting(global_settings, "out", "..\\DownloadPDF\\Example.pdf");
object_settings = wkhtmltopdf_create_object_settings(); // create input **object** to store the setting
//const char* a = "..\\Template\\VartLitePDF.html";
//wkhtmltopdf_set_object_setting(object_settings, "page", a); //pathway for the html file.
//wkhtmltopdf_set_object_setting(object_settings, "web.enableJavascript", "true"); //enable javascript.
Converter = wkhtmltopdf_create_converter(global_settings); //create the converter to convert the page.
wkhtmltopdf_add_object(Converter, object_settings, htmlTextData.c_str());
if (!wkhtmltopdf_convert(Converter)) //Perform the actual conversion.
fprintf(stderr, "Convertion failed!");
std::cout << "httpErrorCode : " << wkhtmltopdf_http_error_code(Converter) << std::endl;
const char* b = "..\\DownloadPDF\\Example.pdf";
HtmltoPDF::setReportGeneratedURL(b);
wkhtmltopdf_destroy_converter(Converter); //delete the object after the object is fully convert.
std::cout << wkhtmltopdf_deinit() << "\n"; //close the function after used.
}
int main()
{
string path;
cout << "Path file : ";
cin >> path;
cout << endl;
GetData *data;
GetData::createGetDataObject(&data);
data->GetString(path);
cout << data->GetString(path) << endl << endl;
string htmltext = data->GetString(path);
cout << endl;
HtmltoPDF *PDF;
HtmltoPDF::createPDFObject(&PDF);
PDF->ConvertHtmltoPDF(htmlTextData);
cout << "ABCD" << endl;
system("PAUSE");
return 0;
}
htmlTextData => ein HTML-Inhalt und wandelt es in String.Wenn läuft zur gleichen Zeit zweimal wkhtmltopdf lib, warum es nur Datendokument ohne Tisch oder Bild auftreten, die
Zunächst kann eine vollständige PDF-Datei mit Tabellen und Bildern angezeigt werden. Nach dem zweiten Lauf (Nein das Programm geschlossen) aber es zeigt nur Datendokument und ohne irgendwelche Tabellen und Bilder ..
Darf ich wissen, was ist der Grund dafür?
Dank ..
remove wkhtmltopdf_deinit(), es wird nur eine PDF-Dokumentdatei generiert. In diesem Fall, wenn Sie mehr als eine PDF-Dokument-Datei erstellen möchten, wird es nicht gut funktionieren (ohne close-Programm). Und es erzeugt N gleiche PDF-Dokument (gleicher Inhalt mit vorherigen zuerst generieren) in N-mal .. – Dex