今回は、「DioDocs(ディオドック)」でHTMLのコンテンツをPDFや画像に出力する機能を紹介したいと思います。こちらは2019年12月18日(水)にリリースされた「DioDocs V3J」でDioDocs for PDFに追加された機能です。
HTMLを扱うために必要なNuGetパッケージについては製品ヘルプに記載されています。
DioDocs for PDF – HTML の PDF への描画
この機能を使用してPDFと画像に出力できるHTMLコンテンツは以下の3種類です。
- HTMLドキュメント(HTML文字列)
- HTMLファイル
- HTMLページ(Webページ)
1. PDFに出力
(1) HTMLドキュメント(HTML文字列)
シンプルなHTML文字列を描画するにはDrawHtml
を使用します。
var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var html = @" <!DOCTYPE html> <html> <head> <style> p.round { font: 28px Yu Gothic; color: Blue; padding: 3px 5px 3px 5px; } </style> </head> <body> <p class='round'>Hello, World!</p> <p class='round'>こんにちは、DioDocs(ディオドック)です</p> </body> </html>"; g.DrawHtml(html, 72, 72, new HtmlToPdfFormat(false), out SizeF size); doc.Save("HTMLStringToPDF.pdf");
(2) HTMLファイル
HTMLファイルの場合はSystem.IO.File.ReadAllText
で対象のHTMLファイルのHTML文字列を読み取ってDrawHtml
に設定します。
var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; g.DrawHtml(File.ReadAllText("ActiveReports.html"), 72, 72, new HtmlToPdfFormat(false), out SizeF size); doc.Save("ActiveReports.pdf");
(3) HTMLページ(Webページ)
HTMLページの場合はSysytem.Uri
で対象のWebページのURLを指定してGcHtmlRenderer
に設定します。
var pdffile = @"HTMLPageToPDF.pdf"; var uri = new Uri(@"https://docs.grapecity.com/help/diodocs/pdf/#overview.html"); var gcHtmlRenderer = new GcHtmlRenderer(uri); gcHtmlRenderer.RenderToPdf(pdffile, new PdfSettings());
2. 画像に出力
(1) HTMLドキュメント(HTML文字列)
シンプルなHTML文字列を描画するにはGcHtmlRenderer
を使用します。RenderToJpeg
でJPEGに、RenderToPng
でPNGに出力できます。
var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var html = @" <!DOCTYPE html> <html> <head> <style> p.round { font: 28px Yu Gothic; color: Blue; padding: 3px 5px 3px 5px; } </style> </head> <body> <p class='round'>Hello, World!</p> <p class='round'>こんにちは、DioDocs(ディオドック)です</p> </body> </html>"; var gcHtmlRenderer = new GcHtmlRenderer(html); gcHtmlRenderer.RenderToJpeg("HTMLStringToImage.jpeg", new JpegSettings()); gcHtmlRenderer.RenderToPng("HTMLStringToImage.png", new PngSettings());
(2) HTMLファイル
HTMLファイルの場合はSystem.IO.File.ReadAllText
で対象のHTMLファイルのHTML文字列を読み取ってGcHtmlRenderer
に設定します。
var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var gcHtmlRenderer = new GcHtmlRenderer(File.ReadAllText("ActiveReports.html")); gcHtmlRenderer.RenderToJpeg("HTMLFileToPDF.jpeg", new JpegSettings()); gcHtmlRenderer.RenderToPng("HTMLFileToPDF.png", new PngSettings());
(3) HTMLページ(Webページ)
HTMLページの場合はSysytem.Uri
で対象のWebページのURLを指定してGcHtmlRenderer
に設定します。
var jpegfile = @"HTMLPageToPDF.jpeg"; var pngfile = @"HTMLPageToPDF.png"; var uri = new Uri(@"https://docs.grapecity.com/help/diodocs/pdf/#overview.html"); var gcHtmlRenderer = new GcHtmlRenderer(uri); gcHtmlRenderer.RenderToJpeg(jpegfile, new JpegSettings()); gcHtmlRenderer.RenderToPng(pngfile, new PngSettings());
今回紹介した機能を記載しているデモはこちらです。
今回紹介した機能を記載しているサンプルはこちらです。
GrapeCityJP/DDPdfHtmlDocument(HTMLドキュメント)
GrapeCityJP/DDPdfHtmlFile(HTMLファイル)
GrapeCityJP/DDPdfHtmlWebPage(HTMLページ)
DioDocsは2020年5月20日に最新バージョンの「V3J SP1」をリリースしています。
弊社Webサイトでは、製品の機能を気軽に試せるデモアプリケーションやトライアル版も公開していますので、こちらもご確認いただければと思います。
また、ご導入前の製品に関するご相談やご導入後の各種サービスに関するご質問など、お気軽にお問合せください。