コンピュータに MS Word をインストールする必要がないため、Word 文書形式よりも、イメージ書式をプラットフォーム間で共有したりプレビューしたりするのが便利です。また、Word をイメージに変換することで、文書のオリジナルの外観を維持でき、他の人がそれをさらに修正するのを防ぐことができます。この記事では、Spire.Doc for .NET を使用して、C# および VB.NET でプログラムによって Word をイメージに変換する方法を示します。 Word を JPG に変換する Word を SVG に変換する Word を カスタム解像度の PNG に変換する Spire.Doc for.NET をインストールします まず、Spire.Doc for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.Doc Word を JPG に変換する Spire.Doc for .NET が提供する Document.SaveToImages() メソッドは、Word 文書のページを Bitmap または Metafile に変換します。その後、Bitmap または Metafile は、BMP、EMF、JPEG、PNG、GIF または WMF 書式のイメージとして保存することができます。以下は Word を JPG に変換するための詳細な手順です。 Document オブジェクトを作成します。 Document.LoadFromFile() メソッドを使用して Word 文書をロードします。 Document.SaveToImages() メソッドを使用して、Word 文書を Bitmap イメージに変換します。 イメージコレクションをループし、特定のイメージを取得して JPG として保存します。 C# VB.NET using Spire.Doc; using Spire.Doc.Documents; using System; using System.Drawing; using System.Drawing.Imaging; namespace ConvertWordToJPG { class Program { static void Main(string[] args) { //Documentオブジェクトを作成する Document doc = new Document(); //Wordをロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx"); //文書全体のページをイメージに変換する Image[] images = doc.SaveToImages(ImageType.Bitmap); //イメージコレクションをループする for (int i = 0; i < images.Length; i++) { //イメージをJPGとして保存する string outputfile = String.Format("Image-{0}.jpg", i); images[i].Save("C:UsersAdministratorDesktopImages" + outputfile, ImageFormat.Jpeg); } } } } Imports Spire.Doc Imports Spire.Doc.Documents Imports System Imports System.Drawing Imports System.Drawing.Imaging Namespace ConvertWordToJPG Class Program Shared Sub Main(ByVal args() As String) 'Documentオブジェクトを作成する Document doc = New Document() 'Wordをロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx") '文書全体のページをイメージに変換する Dim images() As Image = doc.SaveToImages(ImageType.Bitmap) 'イメージコレクションをループする Dim i As Integer For i = 0 To images.Length- 1 Step i + 1 'イメージをJPGとして保存する Dim outputfile As String = String.Format("Image-{0}.jpg",i) images(i).Save("C:UsersAdministratorDesktopImages" + outputfile, ImageFormat.Jpeg) Next End Sub End Class End Namespace Word を SVG に変換する Spire.Doc for .NET を使用して Word 文書を一連のバイト配列として保存し、SVG 文書にそれぞれ書き込むことができます。Word を SVG に変換するための詳細な手順は次のとおりです。 Document オブジェクトを作成します。 Document.LoadFromFile() メソッドを使用して Word 文書をロードします。 Document.SaveToSVG() メソッドを使用して、文書をバイト配列キューとして保存します。 すべてのバイト配列をループし、指定されたバイト配列を取得する。 SVG 文書にバイト配列を書き込みます。 C# VB.NET using Spire.Doc; using System; using System.Collections.Generic; using System.IO; namespace CovnertWordToSVG { class Program { static void Main(string[] args) { //Documentオブジェクトを作成する Document doc = new Document(); //Wordをロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx"); //文書をバイト配列キューとして保存する Queue<byte[]> svgBytes = doc.SaveToSVG(); //すべてのバイト配列をループする for (int i = 0; i < svgBytes.Count; i++) { //キューを配列に変換する byte[][] bytes = svgBytes.ToArray(); //出力文書名を指定する string outputfile = String.Format("Image-{0}.svg", i); //SVG文書にバイト配列を書き込む FileStream fs = new FileStream("C:UsersAdministratorDesktopImages" + outputfile, FileMode.Create); fs.Write(bytes[i], 0, bytes[i].Length); fs.Close(); } } } } Imports Spire.Doc Imports System Imports System.Collections.Generic Imports System.IO Namespace CovnertWordToSVG Class Program Shared Sub Main(ByVal args() As String) 'Documentオブジェクトを作成する Document doc = New Document() 'Wordをロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx") '文書をバイト配列キューとして保存する Dim svgBytes()> As Queue<byte = doc.SaveToSVG() 'すべてのバイト配列をループする Dim i As Integer For i = 0 To svgBytes.Count- 1 Step i + 1 'キューを配列に変換する Dim bytes()() As Byte = svgBytes.ToArray() '出力文書名を指定する Dim outputfile As String = String.Format("Image-{0}.svg",i) ' SVG文書にバイト配列を書き込む Dim fs As FileStream = New FileStream("C:UsersAdministratorDesktopImages" + outputfile,FileMode.Create) fs.Write(bytes(i), 0, bytes(i).Length) fs.Close() Next End Sub End Class End Namespace Word をカスタム解像度の PNG に変換する より解像度の高いイメージはコンテンツをより明確に表示することができます。以下の手順に従って、Word を PNG に変換するときに、イメージ解像度を設定することができます。 Document オブジェクトを作成します。 Document.LoadFromFile() メソッドを使用して Word 文書をロードします。 Document.SaveToImages() メソッドを使用して、文書を Bitmap イメージに変換します。 イメージコレクションをループし、特定のビットマップを取得します。 カスタム ResetResolution() メソッドを使用して、イメージの解像度を再設定します。 イメージを PNG として保存します。 C# VB.NET using Spire.Doc; using System; using System.Drawing; using System.Drawing.Imaging; using Spire.Doc.Documents; namespace ConvertWordToPng { class Program { static void Main(string[] args) { //Documentオブジェクトを作成する Document doc = new Document(); //Word文書をロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx "); //文書全体のページをイメージに変換する Image[] images = doc.SaveToImages(ImageType.Metafile); //イメージコレクションをループする for (int i = 0; i < images.Length; i++) { //イメージの解像度を設定する Image newimage = ResetResolution(images[i] as Metafile, 150); //イメージをPNGとして保存する string outputfile = String.Format("image-{0}.png", i); newimage.Save(outputfile, ImageFormat.Png); } } //ResetResolution()を使用しでイメージの解像度を設定する public static Image ResetResolution(Metafile mf, float resolution) { int width = (int)(mf.Width * resolution / mf.HorizontalResolution); int height = (int)(mf.Height * resolution / mf.VerticalResolution); Bitmap bmp = new Bitmap(width, height); bmp.SetResolution(resolution, resolution); using (Graphics g = Graphics.FromImage(bmp)) { g.DrawImage(mf, Point.Empty); } return bmp; } } } Imports Spire.Doc Imports System Imports System.Drawing Imports System.Drawing.Imaging Imports Spire.Doc.Documents Namespace ConvertWordToPng Class Program Shared Sub Main(ByVal args() As String) 'Documentオブジェクトを作成する Dim doc As Document = New Document() 'Word文書をロードする doc.LoadFromFile("C:UsersAdministratorDesktopTemplate.docx") '文書全体のページをイメージに変換する Dim images() As Image = doc.SaveToImages(ImageType.Metafile) 'イメージコレクションをループする Dim i As Integer For i = 0 To images.Length - 1 Step i + 1 'イメージの解像度を設定する Dim Newimage As Image = ResetResolution(images(i) As Metafile, 150) 'イメージをPNGとして保存する Dim outputfile As String = String.Format("image-{0}.png", i) Newimage.Save(outputfile, ImageFormat.Png) Next End Sub 'ResetResolution()を使用しでイメージの解像度を設定する Public Shared Function ResetResolution(ByVal mf As Metafile, ByVal resolution As Single) As Image Dim width As Integer = CType((mf.Width * resolution / mf.HorizontalResolution), Integer) Dim height As Integer = CType((mf.Height * resolution / mf.VerticalResolution), Integer) Dim bmp As Bitmap = New Bitmap(width, height) bmp.SetResolution(resolution, resolution) Imports (Graphics g = Graphics.FromImage(bmp)) { g.DrawImage(mf, PoInteger.Empty) } Return bmp End Function End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。