All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HTML2PDF.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------------------
2 // Copyright (c) 2001-2020 by PDFTron Systems Inc. All Rights Reserved.
3 // Consult legal.txt regarding legal and license information.
4 //---------------------------------------------------------------------------------------
5 #ifndef PDFTRON_H_CPPPDFHTML2PDF
6 #define PDFTRON_H_CPPPDFHTML2PDF
7 
8 #include <PDF/PDFDoc.h>
9 #include <PDF/Print.h>
10 #include <C/PDF/TRN_HTML2PDF.h>
11 
12 namespace pdftron {
13  namespace PDF {
14 
15 class Proxy;
16 class WebPageSettings;
17 class TOCSettings;
18 
64 class HTML2PDF
65 {
66 public:
70 
71 #ifndef SWIG
72 
90  static bool Convert(PDFDoc& doc, const UString& url);
91 
112  static bool Convert(PDFDoc& doc, const UString& url, const WebPageSettings& settings);
113 #endif
114 
120  void InsertFromURL(const UString& url);
121 
129  void InsertFromURL(const UString& url, const WebPageSettings& settings);
130 
136  void InsertFromHtmlString(const UString& html);
137 
144  void InsertFromHtmlString(const UString& html, const WebPageSettings& settings);
145 
149  void InsertTOC();
150 
156  void InsertTOC(const TOCSettings& settings);
157 
174  bool Convert(PDFDoc& doc);
175 
184  int GetHTTPErrorCode() const;
185 
193  void SetQuiet(bool quiet);
194 
200  UString GetLog() const;
201 
209  static void SetModulePath(const UString& path);
210 
214  HTML2PDF();
215 
219  ~HTML2PDF();
220 
227 
236  void SetPaperSize(const UString& width, const UString& height);
237 
244  void SetLandscape(bool enable);
245 
254  void SetDPI(int dpi);
255 
263  void SetOutline(bool enable, int depth = 4);
264 
271  void DumpOutline(const UString& xml_file);
272 
279  void SetPDFCompression(bool enable);
280 
291  void SetMargins(const UString& top, const UString& bottom, const UString& left, const UString& right);
292 
298  void SetImageDPI(int dpi);
299 
305  void SetImageQuality(int quality);
306 
312  void SetCookieJar(const UString& path);
313 
317  void Destroy();
318 
319  // @cond PRIVATE_DOC
320 
321  #ifndef SWIGHIDDEN
322  TRN_HTML2PDF mp_html2pdf;
323  #endif
324 
325 private:
326  HTML2PDF(const HTML2PDF&);
327  HTML2PDF& operator= (const HTML2PDF&);
328  // @endcond
329 
330 };
331 
332 
338 class Proxy
339 {
340 public:
344  Proxy();
345 
349  ~Proxy();
350 
359  void SetType(Type type);
360 
366  void SetHost(const UString& host);
367 
373  void SetPort(int port);
374 
380  void SetUsername(const UString& username);
381 
387  void SetPassword(const UString& password);
388 
392  void Destroy();
393 
394  // @cond PRIVATE_DOC
395 
396 #ifndef SWIGHIDDEN
397  TRN_HTML2PDF_Proxy mp_impl;
398 #endif
399  // @endcond
400 
401 };
402 
407 {
408 public:
412  WebPageSettings();
413 
418 
424  void SetPrintBackground(bool background);
425 
431  void SetLoadImages(bool load);
432 
438  void SetAllowJavaScript(bool enable);
439 
446  void SetSmartShrinking(bool enable);
447 
453  void SetMinimumFontSize(int size);
454 
468  void SetDefaultEncoding(const UString& encoding);
469 
476  void SetUserStyleSheet(const UString& url);
477 
484  void SetAllowPlugins(bool enable);
485 
492  void SetPrintMediaType(bool print);
493 
502  void SetIncludeInOutline(bool include);
503 
509  void SetUsername(const UString& username);
510 
516  void SetPassword(const UString& password);
517 
525  void SetJavaScriptDelay(int msec);
526 
532  void SetZoom(double zoom);
533 
539  void SetBlockLocalFileAccess(bool block);
540 
546  void SetStopSlowScripts(bool stop);
547 
554  void SetDebugJavaScriptOutput(bool forward);
555 
565  e_abort, // Abort the conversion process.
566  e_skip, // Do not add the object to the final output
567  e_ignore // Try to add the object to the final output.
568  };
570 
578  void SetExternalLinks(bool convert);
579 
586  void SetInternalLinks(bool convert);
587 
594  void SetProduceForms(bool forms);
595 
601  void SetProxy(const Proxy& proxy);
602 
606  void Destroy();
607 
608  // @cond PRIVATE_DOC
609 
610 #ifndef SWIGHIDDEN
611  TRN_HTML2PDF_WebPageSettings mp_impl;
612 #endif
613  // @endcond
614 
615 };
616 
621 {
622 public:
626  TOCSettings();
627 
631  ~TOCSettings();
632 
638  void SetDottedLines(bool enable);
639 
646  void SetLinks(bool enable);
647 
653  void SetCaptionText(const UString& caption);
654 
660  void SetLevelIndentation(int indentation);
661 
667  void SetTextSizeShrink(double shrink);
668 
676  void SetXsl(const UString& style_sheet);
677 
681  void Destroy();
682 
683  // @cond PRIVATE_DOC
684 
685 #ifndef SWIGHIDDEN
686  TRN_HTML2PDF_TOCSettings mp_impl;
687 #endif
688  // @endcond
689 
690 };
691 
692  }; // namespace PDF
693 }; // namespace pdftron
694 
695 #include <Impl/HTML2PDF.inl>
696 
697 #endif // PDFTRON_H_CPPPDFHTML2PDF
void SetCookieJar(const UString &path)
void SetPrintMediaType(bool print)
void SetMargins(const UString &top, const UString &bottom, const UString &left, const UString &right)
int GetHTTPErrorCode() const
void InsertFromURL(const UString &url)
void SetLevelIndentation(int indentation)
void SetImageQuality(int quality)
void DumpOutline(const UString &xml_file)
void SetLinks(bool enable)
void SetPDFCompression(bool enable)
void SetXsl(const UString &style_sheet)
void SetIncludeInOutline(bool include)
void SetImageDPI(int dpi)
pdftron::PDF::WebPageSettings WebPageSettings
Definition: HTML2PDF.h:68
void SetStopSlowScripts(bool stop)
void SetType(Type type)
void SetTextSizeShrink(double shrink)
void SetSmartShrinking(bool enable)
void SetUserStyleSheet(const UString &url)
void SetQuiet(bool quiet)
void SetProxy(const Proxy &proxy)
void SetPrintBackground(bool background)
void SetPassword(const UString &password)
void SetJavaScriptDelay(int msec)
UString GetLog() const
void SetBlockLocalFileAccess(bool block)
void SetUsername(const UString &username)
void SetOutline(bool enable, int depth=4)
void SetAllowJavaScript(bool enable)
void SetInternalLinks(bool convert)
void SetPaperSize(PrinterMode::PaperSize size)
static void SetModulePath(const UString &path)
void SetAllowPlugins(bool enable)
void SetPassword(const UString &password)
void SetLoadErrorHandling(ErrorHandling type)
void SetDefaultEncoding(const UString &encoding)
void SetHost(const UString &host)
void SetDPI(int dpi)
void InsertFromHtmlString(const UString &html)
pdftron::PDF::Proxy Proxy
Definition: HTML2PDF.h:67
void SetDottedLines(bool enable)
void SetCaptionText(const UString &caption)
pdftron::PDF::TOCSettings TOCSettings
Definition: HTML2PDF.h:69
void SetUsername(const UString &username)
void SetLandscape(bool enable)
static bool Convert(PDFDoc &doc, const UString &url)
void SetExternalLinks(bool convert)
void SetDebugJavaScriptOutput(bool forward)
void SetPort(int port)
void SetMinimumFontSize(int size)
void SetProduceForms(bool forms)