iTextSharp-Konwertuj word DOC / docx na pdf

Rozumiem, że iTextSharp może być używany do konwersji dokumentu do formatu pdf.

Ale najpierw musimy utworzyć dokument od podstaw za pomocą iTextSharp.tekst.Dokumentu, a następnie dodawanie elementów do tego dokumentu.

Co jeśli mam istniejący plik doc, czy można przekonwertować ten dokument do formatu pdf za pomocą iTextSharp.

Chcę również użyć iTextSharp lub innego podobnego narzędzia, które może wykonać następujące czynności na pliku doc:

  1. manipulacja plikami doc / docx / tekstowymi (jak zastąpienie niektórych elementów zastępczych wartościami DB) oraz
  2. konwertuje je na .pdf

Jeśli ktoś ma pomysł na ten temat, proszę się podzielić.

Dziękuję!

Author: Charles Stewart, 2009-10-08

6 answers

The Aspose.Words component może to zrobić niezawodnie(nie jestem powiązany ani nic).

ITextSharp nie ma wymaganego zestawu funkcji do ładowania i przetwarzania formatów plików MS Word.

 14
Author: Lucero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-08 11:17:14

Aspose.Słowa są rzeczywiście dobrym rozwiązaniem, ale nie oferują doskonałej wierności. W momencie pisania ma problemy z językami nieromańskimi, złożonym formatowaniem, takim jak elementy pływające i wiele innych problemów.

Możesz rzucić okiem na tę usługę konwersji PDF , która może być używana z dowolnego środowiska obsługującego Usługi internetowe, w tym Java i. NET.

Zauważ, że pracowałem nad tym projektem, więc stosuje się zwykłe zastrzeżenia.

 3
Author: Jeroen Ritmeijer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-22 14:09:38

Możesz użyć istniejącej metody Microsoftu.Biuro

 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);
        }
    } 
 3
Author: Shyam sundar shah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-03 04:13:02

Jeśli nie zależy ci na tym, czy formatowanie będzie wierne temu, co program Word wyświetli, jest imponujący docx2tex , który konwertuje pliki docx Word 2007 na dokumenty Latex. Raz w Latexie, masz dużo mocy, aby programowo sformatować dokument i wygenerować z niego PDF.

Więcej o narzędziu powiem w odpowiedzi na tex.stackexchange .  

 1
Author: Charles Stewart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:34:29

Do manipulacji docx należy użyć natywnej metody Open XML. Pobierz Open XML SDK 2 od Microsoft.

A następnie możesz konwertować pliki docx do formatu pdf za pomocą tej płatnej biblioteki: http://www.subsystems.com/dpw.htm . To naprawdę wspaniałe.

 0
Author: mucit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-08 10:59:51

Mam ten sam problem.
po kilku dniach prób znalezienia rozwiązania, wydaje się, że Docx4J , Narzędzie oparte na Javie, lub drukarki PDF, takie jak PDFCreator , mogą być jednymi z darmowych rozwiązań.
Na pewno tylko narzędzie komercyjne może skutecznie wykonać żądane zadanie.
Po stronie Microsoft możesz użyć włączonych po stronie serwera Sharepoint Word Automation Services , (Sprawdź 7 czerwca 2016) lub interop na komputerze lokalnym.
Sugerowane części konwersja (DOC lub DOC do jakiegoś pośredniego języka, a następnie do PDF) wydaje się, że to, co użytkownicy powiedzieli na stackoverflow lub innych forach, nie jest możliwe, ponieważ wynik nie jest tym, czego oczekiwano.

 0
Author: JosefMadrid,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-07 08:45:24