Вопрос

Я понимаю, что ItExtSharp может быть использован для преобразования документа в PDF.

Но сначала мы должны создать документ с нуля, используя itextsharp.text.document, а затем добавить элементы в этот документ.

Что если у меня есть существующий файл DOC, возможно ли преобразовать этот документ в PDF с помощью ItExtSharp.

Кроме того, я хочу использовать ItextSharp или любой подобный инструмент, который может выполнять следующие действия в файле DOC:

  1. манипулирование документами doc/docx/текстовых файлов (например, замены некоторых заполнителей значениями БД), а также
  2. преобразует их в .pdf

Любой, кто имеет представление об этом, поделитесь.

Благодарю вас!

Это было полезно?

Решение

А Aspose.words Компонент может сделать это надежно (я не связан или что -то в этом роде).

itextsharp не имеет необходимых функций для загрузки и обработки форматов файлов Word MS.

Другие советы

Aspose.words действительно хорошее решение, но оно не предлагает идеальной верности. Во время написания у него есть проблемы с не римскими языками, сложным форматированием, таким как плавучие элементы и ряд других проблем.

Вы можете взглянуть на это PDF -конверсия веб -сервис Это может использоваться из любой среды, способной веб -служб, включая Java и .net.

Обратите внимание, что я работал над этим проектом, чтобы применить обычные отказы от ответственности.

Вы можете использовать существующий метод Microsoft.office

 private Microsoft.Office.Interop.Word.ApplicationClass MSdoc;

    //Use for the parameter whose type are not known or say Missing
    object Unknown = Type.Missing;

  private void word2PDF(object Source, object Target)
    {   //Creating the instance of Word Application
      if (MSdoc == null)MSdoc = new Microsoft.Office.Interop.Word.ApplicationClass();

        try
        {
            MSdoc.Visible = false;
            MSdoc.Documents.Open(ref Source, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown,
                 ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown);
             MSdoc.Application.Visible = false;
              MSdoc.WindowState =   Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMinimize;

            object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;

            MSdoc.ActiveDocument.SaveAs(ref Target, ref format,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                   ref Unknown, ref Unknown);
          }
           catch (Exception e)
          {
            MessageBox.Show(e.Message);
           }
         finally
          {
            if (MSdoc != null)
            {
                MSdoc.Documents.Close(ref Unknown, ref Unknown, ref Unknown);
                //WordDoc.Application.Quit(ref Unknown, ref Unknown, ref Unknown);
            }
            // for closing the application
            WordDoc.Quit(ref Unknown, ref Unknown, ref Unknown);
        }
    } 

Если вы не заботитесь о том, будет ли форматирование верным тому, какое слово будет отображаться, есть впечатляющий docx2tex который преобразует Word 2007 DOCX файлы в документы LaTex. Оказавшись в латексе, у вас есть много власти, чтобы программически переформатировать документ и генерировать PDF.

Я говорю больше об утилите в ответе на Tex.StackexChange.  

У меня такая же проблема.
После нескольких дней попыток найти решение, кажется Docx4j Инструмент на основе Java или PDF PDF создатель, может быть среди свободного решения.
Конечно, просто коммерческий инструмент может эффективно выполнить запрошенную задачу.
На стороне Microsoft вы можете использовать включенную на стороне сервера SharePoint Word Automation Services, (проверяйте 7 июня 2016 года), или Interop в вашем локальном компьютере.
Предлагаемое преобразование части в частях (DOC или DOC на какой-то промежуточный язык, а затем в PDF), кажется, что пользователи сказали на форумах StackOverflow или других, невозможен, потому что результат не является ожидаемым.

Для манипуляции с DOCX вы должны использовать Native Open XML -метод. Скачать Open XML SDK 2 из Microsoft.

И тогда вы можете преобразовать файлы DOCX в PDF с этой оплачиваемой библиотекой: http://www.subsystems.com/dpw.htm Анкет Это действительно здорово.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top