18

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

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

既存のドキュメント ファイルがある場合、iTextSharp を使用してこのドキュメントを PDF に変換できますか。

また、iTextSharp または doc ファイルに対して次の操作を実行できる同様のツールを使用したいと考えています。

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

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

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

4

6 に答える 6

13

Aspose.Wordsコンポーネントは、これを確実に行うことができます (私は関係者でも何でもありません)。

iTextSharp には、MS Word ファイル形式を読み込んで処理するために必要な機能セットがありません。

于 2009-10-08T11:17:14.063 に答える
3

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);
        }
    } 
于 2013-06-03T04:13:02.290 に答える
2

Aspose.Words は確かに優れたソリューションですが、完全な忠実度を提供するわけではありません。執筆時点では、ローマ字以外の言語、浮動要素などの複雑な書式設定、およびその他の多くの問題に問題があります。

Java や .NET などの Web サービス対応環境から使用できる、このPDF 変換 Web サービスをご覧になることをお勧めします。

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

于 2010-07-22T14:09:38.207 に答える
1

フォーマットがWordの表示に忠実であるかどうかを気にしない場合は、 Word2007のdocxファイルをLaTeXドキュメントに変換する印象的なdocx2texがあります。ラテックスに入ると、プログラムでドキュメントを再フォーマットし、そこからPDFを生成するための多くの力があります。

tex.stackexchangeの回答でユーティリティについて詳しく説明しています。  

于 2010-02-27T10:05:13.190 に答える
0

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

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

于 2009-10-08T10:59:51.833 に答える