質問

ItextSharpを使用してドキュメントをPDFに変換できることを理解しています。

ただし、最初にitextsharp.text.documentを使用してドキュメントをゼロから作成し、次にこのドキュメントに要素を追加する必要があります。

既存のドキュメントファイルを持っている場合、itextsharpを使用してこのドキュメントをPDFに変換することは可能ですか?

また、itextsharpまたはdocファイルでフォローすることができる同様のツールを使用したい:

  1. DOC/DOCX/テキストファイルの操作(一部のプレースホルダーをDB値に置き換えるなど)および
  2. それらを.pdfに変換します

これについて考えている人は誰でも共有してください。

ありがとうございました!

役に立ちましたか?

解決

Asopsion.Words コンポーネントはこれを確実に行うことができます(私は提携していませんか?

ItextSharpには、MS Wordファイル形式をロードおよび処理するための必要な機能セットがありません。

他のヒント

Aspose.Wordsは確かに良い解決策ですが、完璧な忠実度を提供しません。執筆時点では、ローマ以外の言語、フローティング要素などの複雑なフォーマット、その他多くの問題に問題があります。

これを見たいかもしれません PDF変換Webサービス これは、Javaや.NetなどのWebサービス対応環境から使用できます。

私はこのプロジェクトに取り組んだので、通常の免責事項が適用されることに注意してください。

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プリンターのような pdfcreator, 、無料の解決策の1つである可能性があります。
確かに、商用ツールだけがリクエストされたタスクを効果的に行うことができます。
Microsoft側では、サーバー側の有効化を使用できます SharePoint Word Automation Services, 、(2016年6月7日にチェック)、またはローカルコンピューターでの相互作用。
提案されたパートツーパート変換(中間言語、次にPDFへのDocまたはDoc)は、ユーザーがStackoverflowやその他のフォーラムで言ったことは、結果が予想されないためではないためです。

DOCX操作には、ネイティブオープンXMLメソッドを使用する必要があります。 MicrosoftからOpen XML SDK 2をダウンロードします。

そして、この有料ライブラリを使用して、DOCXファイルをPDFに変換できます。 http://www.subsystems.com/dpw.htm 。本当に素晴らしいです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top