2012-08-20 2 views
8

Я использую openxml для создания файлов Word DOCX. Я хотел бы сохранить эти документы, как только они будут созданы в виде файлов PDF. Есть ли способ сделать это в openxml? Я предполагаю, что ответ отрицательный. Если это не так, есть ли рекомендованная библиотека или инструмент, который я могу использовать для сохранения/печати файлов DOCX в формате PDF (программно, в .NET)? Я посмотрел на sharpPDF (PDFSharp), и кажется, что эта библиотека предназначена только для создания PDF-файлов с нуля, а не для сохранения DOCX в формате PDF.Сохранение файлов Word DOCX в формате PDF

Могу ли я каким-либо образом напечатать на установленном PDF-принтере либо Cute PDF, либо PDF-принтер, встроенный в Windows 7, полностью автоматическим способом?

Обновление: Ищите бесплатно с невирусной лицензией и, желательно, не требуйте дополнительных установок.

ответ

9

Вы можете сделать это с помощью автоматизации Word. Вам нужно установить слово.

var TheDocument = TheWordApp.Documents.Open(docName); 

TheDocument.ExportAsFixedFormat(
      docName.Replace(".docx", ".pdf"), 
      Word.WdExportFormat.wdExportFormatPDF, 
      OptimizeFor: Word.WdExportOptimizeFor.wdExportOptimizeForOnScreen, 
      BitmapMissingFonts: true, DocStructureTags: false); 

((Word._Document)TheDocument).Close(); 
+1

Microsoft Interop? Да, это действительно работает. Я надеялся сделать это без необходимости установки Word. Это может быть мой путь вперед, если нет свободного способа сделать это без других зависимостей. –

+0

@cellik: он работает с приложением, настроенным в IIS? – Saravanan

2

Чтобы получить от DocX -> PDF вам нужно что-то, что может отобразить файл DocX и предоставить возможность экспорта/сохранения PDF. Излишне говорить, что не так много инструментов, которые могут отображать DocX (Word, OpenOffice/LibreOffice и некоторые другие лицензированные продукты, упомянутые ниже). В зависимости от ограничений/требований времени выполнения вы можете попробовать:

  1. использовать MS Automation, чтобы заставить Word загружать docx и сохранять в формате PDF.
  2. Инструменты, которые сидят поверх OpenOffice (JODConverter/Docmosis) для преобразования.
  3. Попробуйте вставить другие библиотеки документов (Aspose Пуэнт)

Я не уверен, о требовании авто печати извините.

+0

Вы можете использовать вывод PDF-файла docx4j в среде .NET через IKVM, но я бы предложил сначала попробовать его в среде Java, чтобы узнать, подходит ли он вашим потребностям. – JasonPlutext

+0

Для # 1 вы ссылаетесь на MS Библиотека OFfice Interop? –

+0

@StealthRabbi - да извините за плохую терминологию. –

1

Я успешно использовал Aspose набор инструментов для этого в прошлом: https://stackoverflow.com/a/5513946/54762. Это не бесплатно, но вы можете продемонстрировать его, прежде чем покупать его.

0

Я использовал this VBScript, и он хорошо работает. Он работает в фоновом режиме (открывает docx и сохраняет в формате PDF с помощью опции «Сохранить/экспортировать как PDF»). Проверьте системные требования, перечисленные на странице.

0

Мы производим WordGlue .NET, который является универсальным механизмом компоновки WP, который может обрабатывать doc/docx.

Он полностью управляется и может использоваться для экспорта в различные форматы, такие как изображение, XPS или (с помощью библиотеки PDF, такой как ABCpdf) PDF.

Я работаю над программным компонентом ABCpdf .NET, поэтому в моих ответах могут содержаться концепции, основанные на ABCpdf. Это то, что я знаю. :-)

Смежные вопросы