Word ドキュメントを TIFF に変換することは、さまざまなシナリオで役立ちます。TIFF ファイルは高品質で広くサポートされており、ドキュメントを共有するのに便利です。変換により Word ドキュメントが「フラット化」され、レイアウトが元のまま正確に保存されます。これにより、画像ベースのファイルが必要な他のアプリケーションやワークフローにドキュメントを組み込む際に役立ちます。
この記事では、C# と Spire.Doc for .NET ライブラリを使用して Word を TIFF に変換する方法を学びます。
Spire.Doc for .NET をインストールします
まず、Spire.Doc for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.Doc
C# で Word を TIFF に変換する方法
Spire.Doc for .NET は、ドキュメント全体を画像の配列に変換するための Document.SaveToImages() メソッドを提供しています。その後、これらの個々の画像を組み合わせて単一の TIFF 画像にすることができます。
C# を使用して Word を TIFF に変換する手順は次のとおりです。
- Document クラスのオブジェクトを作成します。
- Document.LoadFile() メソッドを使用して Word ドキュメントを読み込みます。
- Document.SaveToImages() メソッドを使用してドキュメントを画像の配列に変換します。
- これらの画像をカスタムメソッド ConvertImagesToTiff() を使用して単一の TIFF ファイルに結合します。
- C#
using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using System.Drawing.Imaging;
namespace WordToTiff
{
class Program
{
static void Main(string[] args)
{
// Documentオブジェクトを作成する
Document doc = new Document();
// Word文書を読み込む
doc.LoadFromFile("G:/Documents/Sample20.docx");
// 文書全体を画像に変換する
Image[] images = doc.SaveToImages(ImageType.Bitmap);
// 複数の画像をTIFFファイルに変換する
ConvertImagesToTiff(images, "WordをTiffに変換.tiff", EncoderValue.CompressionLZW);
// リソースを解放する
doc.Dispose();
}
private static ImageCodecInfo GetEncoderInfo(string mimeType)
{
// 画像エンコーダを取得する
ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();
for (int j = 0; j < encoders.Length; j++)
{
// 指定されたMIMEタイプに一致するエンコーダを見つける
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
throw new Exception(mimeType + " mime type not found in ImageCodecInfo");
}
public static void ConvertImagesToTiff(Image[] images, string outFile, EncoderValue compressEncoder)
{
// エンコーダパラメータを設定する
Encoder enc = Encoder.SaveFlag;
EncoderParameters ep = new EncoderParameters(2);
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);
ep.Param[1] = new EncoderParameter(Encoder.Compression, (long)compressEncoder);
// 最初の画像を取得する
Image pages = images[0];
// 変数を作成する
int frame = 0;
// TIFF画像コーデック情報を処理するためのImageCodecInfoオブジェクトを取得する
ImageCodecInfo info = GetEncoderInfo("image/tiff");
// 各画像を反復処理する
foreach (Image img in images)
{
// 最初のフレームの場合、指定されたエンコーダパラメータで出力ファイルに保存する
if (frame == 0)
{
pages = img;
pages.Save(outFile, info, ep);
}
else
{
// 中間フレームを保存する
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage);
pages.SaveAdd(img, ep);
}
// 最後のフレームの場合、エンコーダパラメータをフラッシュし、ファイルを閉じる
if (frame == images.Length - 1)
{
ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);
pages.SaveAdd(ep);
}
frame++;
}
}
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。