打开时防止Word文档的字段更新

Dou*_*son 7 c# ms-word office-interop

我为另一个团队编写了一个实用程序,它递归地浏览文件夹,并使用Word Interop和C#将发现的Word文档转换为PDF.

我们遇到的问题是文档是使用日期字段创建的,这些日期字段在保存之前更新到今天的日期.我找到了一种在打印前禁用更新字段的方法,但我需要阻止字段在打开时更新.

那可能吗?我想在C#中修复,但如果我必须做一个Word宏,我可以.

Dou*_*son 1

好吧,我没有找到使用 Interop 来实现此目的的方法,但我的公司确实购买了 Aspose.Words,并且我编写了一个实用程序来将 Word 文档转换为 TIFF 图像。除非您明确指示,否则Aspose工具不会更新字段。这是我在 Aspose 中使用的代码示例。请记住,我需要将 Word 文档转换为单页 TIFF 图像,并且我对许多选项进行了硬编码,因为它只是我自己在此项目中的一个实用程序。

private static bool ConvertWordToTiff(string inputFilePath, string outputFilePath)
    {
        try
        {
            Document doc = new Document(inputFilePath);

            for (int i = 0; i < doc.PageCount; i++)
            {
                ImageSaveOptions options = new ImageSaveOptions(SaveFormat.Tiff);
                options.PageIndex = i;
                options.PageCount = 1;
                options.TiffCompression = TiffCompression.Lzw;
                options.Resolution = 200;
                options.ImageColorMode = ImageColorMode.BlackAndWhite;

                var extension = Path.GetExtension(outputFilePath);
                var pageNum = String.Format("-{0:000}", (i+1));
                var outputPageFilePath = outputFilePath.Replace(extension, pageNum + extension);

                doc.Save(outputPageFilePath, options);
            }

            return true;
        }
        catch (Exception ex)
        {
            LogError(ex);
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)