转Word文档为Tiff格式

2025-10-11 19:52:11

1、下载并安装Spire.Doc,并将Spire.Doc.dll文件引用到项目中。

2、 将代码放入Visual Studio中:

using Spire.Doc;

using Spire.Doc.Documents;

using System;

using System.Drawing;

using System.Drawing.Imaging;

namespace Word_to_Tiff2

{

    class Program

    {

        static void Main(string[] args)

        {

            Document document = new Document("Sample.docx");

            JoinTiffImages(SaveAsImage(document), "result.tiff", EncoderValue.CompressionLZW);            

        }

        private static Image[] SaveAsImage(Document document)

        {

            Image[] images = document.SaveToImages(ImageType.Bitmap);

     栗态针       return images;

        }

        private static ImageCodecInfo GetEncoderInfo(string mimeType)

        {

            ImageCodecInfo[] encoders = ImageCodecInfo.GetImageEncoders();

            for (int j = 0; j < encoders.Length; j++)

            {

                if (encoders[j].MimeType == mimeType)

                    return encoders[j];

            }

            throw new Exception(mimeType + " mime type not found in ImageCodecInfo");

       岔政 }

        public static void JoinTiffImages(Image[] images, string outFile, EncoderValue compressEncoder)

        {

            //use the save encoder

            System.Drawing.Imaging.Encoder enc = System.Drawing.Imaging.Encoder.SaveFlag;

            EncoderParameters ep = new EncoderParameters(2);

            ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.MultiFrame);

            ep.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)compressEncoder);

            Image pages = images[0];

            int frame = 0;

       季雁     ImageCodecInfo info = GetEncoderInfo("image/tiff");

            foreach (Image img in images)

            {

                if (frame == 0)

                {

                    pages = img;

                    //save the first frame

                    pages.Save(outFile, info, ep);

                }

                else

                {

                    //save the intermediate frames

                    ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.FrameDimensionPage);

                    pages.SaveAdd(img, ep);

                }

                if (frame == images.Length - 1)

                {

                    //flush and close.

                    ep.Param[0] = new EncoderParameter(enc, (long)EncoderValue.Flush);

                    pages.SaveAdd(ep);

                }

                frame++;

            }

        }

    }

}

3、运行代码后,生成result.tiff文档,在项目Bin文件夹下面手动选择用图片方式打开后,文档如下图所示:

转Word文档为Tiff格式

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢