Как программно конвертировать файлы Word в PDF? - PullRequest
214 голосов
/ 03 марта 2009

Я обнаружил несколько программ с открытым исходным кодом / бесплатных программ, которые позволяют преобразовывать файлы .doc в файлы .pdf, но все они представляют собой приложение / драйвер принтера без SDK.

Я нашел несколько программ, в которых есть SDK, позволяющий преобразовывать файлы .doc в файлы .pdf, но все они являются проприетарными, лицензией по 2000 долларов или около того.

Кто-нибудь знает какое-либо чистое, недорогое (желательно бесплатное) программное решение моей проблемы с использованием C # или VB.NET?

Спасибо!

Ответы [ 15 ]

1 голос
/ 24 марта 2012

Microsoft PDF надстройка для слова кажется лучшим решением на данный момент, но вы должны принять во внимание, что он не преобразует все документы Word правильно в PDF, и в некоторых случаях вы увидите огромную разницу между словом и выводом PDF. К сожалению, я не смог найти API, который бы правильно конвертировал все текстовые документы. Единственное решение, которое я нашел, чтобы убедиться, что преобразование было на 100% правильным, было преобразование документов через драйвер принтера. Недостатком является то, что документы ставятся в очередь и конвертируются один за другим, но вы можете быть уверены, что полученный PDF-файл точно такой же, как макет документа Word. Я лично предпочел использовать UDC (Универсальный конвертер документов) и установить Foxit Reader (бесплатная версия) на сервере, а затем распечатать документы, запустив «Процесс» и установив для его свойства Verb «печать». Вы также можете использовать FileSystemWatcher, чтобы установить сигнал после завершения преобразования.

1 голос
/ 30 августа 2011

Я использовал ABCpdf, который является программным вариантом и не слишком дорогим, $ 300 / лицензия. Он работает либо с OpenOffice, либо возвращается к Word, если OpenOffice недоступен. Настройка была немного хитрой с разрешениями OpenOffice COM, но определенно стоило отдать эту часть приложения на аутсорсинг.

1 голос
/ 03 марта 2009

Похоже, некоторая информация здесь:

Преобразование документов MS Word в PDF в ASP.NET

Кроме того, с Office 2007, имеющим функцию публикации в PDF, я думаю, вы могли бы использовать автоматизацию делопроизводства, чтобы открыть файл * .DOC в Word 2007 и Сохранить как PDF. Я не слишком заинтересован в автоматизации делопроизводства, так как она медленная и склонна к зависанию, но просто выбрасываю это туда ...

0 голосов
/ 25 марта 2019

Простой код и решение с использованием Microsoft.Office.Interop.Word для преобразования WORD в PDF

using Word = Microsoft.Office.Interop.Word;

private void convertDOCtoPDF()
{

  object misValue = System.Reflection.Missing.Value;
  String  PATH_APP_PDF = @"c:\..\MY_WORD_DOCUMENT.pdf"

  var WORD = new Word.Application();

  Word.Document doc   = WORD.Documents.Open(@"c:\..\MY_WORD_DOCUMENT.docx");
  doc.Activate();

  doc.SaveAs2(@PATH_APP_PDF, Word.WdSaveFormat.wdFormatPDF, misValue, misValue, misValue, 
  misValue, misValue, misValue, misValue, misValue, misValue, misValue);

  doc.Close();
  WORD.Quit();


  releaseObject(doc);
  releaseObject(WORD);

}

Добавьте эту процедуру для освобождения памяти:

private void releaseObject(object obj)
{
  try
  {
      System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
      obj = null;
  }
  catch (Exception ex)
  {
      //TODO
  }
  finally
  {
     GC.Collect();
  }
}
0 голосов
/ 06 сентября 2018

Для программистов, которые находятся в ситуации, когда они не могут установить Office на своем сервере или работают в какой-либо облачной среде - недорогой альтернативой другим ответам является Api2Pdf , который поддерживает преобразование файлов Word в PDF в виде как и любой другой файл MS Office. Это веб-API, использующий LibreOffice.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...