Как конвертировать OpenXML WordprocessingDocument в документ Word Interop в C # - PullRequest
0 голосов
/ 31 августа 2018

Мне нужно сгенерировать счет в формате pdf, используя шаблон docx, предоставленный клиентом.

В настоящее время я использую объект WordprocessingDocument из DocumentFormat.OpenXml.Packaging, сохраняю его как docx

 byte[] byteArray = File.ReadAllBytes(tempFolderLocation + "\\" + fileName);

            using (MemoryStream stream = new MemoryStream())
            {
                stream.Write(byteArray, 0, (int)byteArray.Length);
                WordprocessingDocument wordDoc = WordprocessingDocument.Open(stream, true);
                File.WriteAllBytes(fileLocation + Filename + ".docx", stream.ToArray());
            }
            wordDocument = OpenWordDocument(fileLocation + Filename + ".docx");

, а затем преобразовать его в pdf, используя какой-нибудь исполняемый файл. Я хочу повысить производительность и подумывал о преобразовании WordprocessingDocument в документ Word Interop и сохранении его в формате PDF с использованием метода SaveAs2, но я слишком новичок в C #, чтобы иметь возможность делать это самостоятельно, поэтому любая помощь будет оценена по достоинству. .

N.B. Я проверил некоторые сторонние продукты как Spire.Doc для Net, но обнаружил, что они не отображают docx в pdf должным образом, как это делает Word Interop (шаблон docx представляет собой комбинацию заголовка, нижнего колонтитула, таблиц и изображений). Например, в случае Spire их служба поддержки признала, что существует проблема, и подняла заявку на исправление.

...