Теперь мы используем OpenXML для чтения данных из базы данных и создания документа. Но последнее требование - это быть pdf. Итак, я хочу знать, как преобразовать .docx в pdf на C #. Может ли кто-нибудь помочь? Или предоставьте некоторую информацию.
Как преобразовать .docx в .pdf в C #
comment
Для этого я использую Aspose.Words. Это чистая .NET-библиотека с довольно приличной совместимостью с рендерингом. Автоматизация Office может работать, но работает медленно, но ее нельзя использовать в полностью автоматизированной среде, поскольку она может вызывать случайные окна с запросом ввода.
- person Cory Nelson   schedule 24.10.2013
comment
Мое любимое решение - создать HTML-файл и позволить пользователю печатать в любом формате, который им нравится. Преимущества: а) не требуется специального программного обеспечения и б) код для печати делается за вас. Очевидно, что мы можем помочь в выполнении требований, которые нам предъявляются, но предложение HTML часто согласуется с руководством.
- person Gusdor   schedule 24.10.2013
comment
Если последнее требование - pdf, тогда зачем создавать docx? Разве вы не можете напрямую читать значения базы данных для создания PDF?
- person Coder   schedule 24.10.2013
comment
Я использую GemBox.Document и его преобразование код (Загрузить + Сохранить). Кроме того, что касается создания документа из базы данных, вы можете проверить код слияния, который делает это с легкостью.
- person Hazel Patton   schedule 02.12.2019
Ответы (2)
Вы можете проверить решения по этой ссылке: http://www.codeproject.com/Questions/346784/How-to-convert-word-document-to-pdf-in-Csharp
Я рекомендую использовать это среди решений в первую очередь:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Office.Interop.Word;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
wordDocument = appWord.Documents.Open(@"D:\desktop\xxxxxx.docx");
wordDocument.ExportAsFixedFormat(@"D:\desktop\DocTo.pdf", WdExportFormat.wdExportFormatPDF);
}
public Microsoft.Office.Interop.Word.Document wordDocument { get; set; }
}
person
Demir
schedule
24.10.2013
Конечно, работает хорошо, но для работы требуется наличие установленного Word.
- person AFract; 30.06.2014
Хотя это действительно работает, Microsoft не рекомендует размещать его на серверах. Также, как сказал AFract, на компьютере должен быть установлен MS office, что требует дополнительной лицензии.
- person SpaceApple; 28.09.2016
Я видел, как такие вещи портят производственные серверы. Как правило, это плохая идея из-за утечек памяти и различных моделей потоковой передачи.
- person Mark Fitzpatrick; 02.05.2018
Вы можете взглянуть на такие библиотеки, как iTextSharp.
person
Yao Bo Lu
schedule
24.10.2013
iTextSharp не может напрямую конвертировать docx в pdf, он создает pdf с нуля или копирует существующие страницы pdf.
- person Coder; 24.10.2013
Мы не рекомендуем библиотеки здесь, в Stack Overflow ... по крайней мере, не в качестве ответов.
- person mickmackusa; 14.07.2020