2012-01-13 15 views
4

私はサンプル文書を作成するプロジェクトを持っています。コードはこちらPDFとSilverlightを一緒に使用できますか?

private void btnExcel_Click(object sender, System.Windows.RoutedEventArgs e) 
    { 
     if (AutomationFactory.IsAvailable) 
     { 
      dynamic excel = AutomationFactory.CreateObject("Excel.Application"); 
      excel.Visible = true; 

      dynamic workbook = excel.workbooks; 
      workbook.Add(); 

      dynamic sheet = excel.ActiveSheet; 
      dynamic cell = null; 
      int i; 
      int z = 20; 

      for (i = 1; i <= 20; i++) 
      { 
       cell = sheet.Cells[i, 1]; 
       cell.Value = i.ToString(); 

       cell = sheet.Cells[i, 2]; 
       cell.Value = z.ToString(); 

       z--; 
      } 

     } 

    } 

ご覧のとおり、これはExcelドキュメント用です。このようなことができ、PDFファイルにエクスポートできる方法はありますか?洞察に感謝します。

答えて

2

はいできます。

WCFサービス操作を呼び出して、必要なすべてのデータを渡すことができます。次に、PDFファイルの生成に必要なすべての作業を行います。これを実行した後、2つのオプションがあります。

  • 操作の結果としてバイトを返すことができます。この場合、ユーザーにSaveDialogを表示してファイルをローカルディスクに保存することができます。
  • 生成されたファイルを別のaspxページに送信し、そのファイルを自分のローカルディスクに保存するか、単に表示するかを選択できるユーザーにPDFファイルを表示することができます。

あなたが探していたことを希望します。

2

もちろん可能です。しかし、なぜ?! AutomationFactory.CreateObjectについて理解しているように、クライアントマシンのExcelまたはPDFがインストールされているときにこれを行うことができます。

しかし、Webアプリケーション(特にエンタープライズアプリケーションではない)を扱う場合は、どこでもpdf/xls/xlsx/...を見たいと思っています。クライアントマシンにインストールされているものを中継することもできます。

私のプロジェクトの1つに似た状況があります。ネイティブサポートがあるため、Silverlightで表示するにはXPS形式を使用しています。他のフォーマットはxpsに変換されます。

変換のニュアンスがあります。 Excelドキュメントのためには、各シートを別々に変換し、ビューアとは異なる特別な種類のビューアを実装するのが最善の方法だと思います。たとえば、ワードドキュメントやpdfです。

銀色のxpsだけでなくpdfも見ることができるサードパーティの視聴者がいます。しかし、それらがなければ、これらの3番目の部分の視聴者はおそらくボンネットの下でPDFをxpsに変換する可能性が高いため、PDFファイルをダウンロードしないようにすることができます。

特にサードパーティーがいなくても、SilverlightでPDFビューアを実装するのに多大な努力が必要です。ですから、xpsを使用して表示することをお勧めします。しかし、PDFファイルをダウンロードするにはXPSを使用してダウンロードし、PDFをダウンロードする必要があります。そのような場合には、コンバーターは各サイテーションに対して2つのフォーマットを生成します。例えば

http://firstfloorsoftware.com/blog/announcement-document-toolkit-for-silverlight/

http://silverpdf.codeplex.com/

http://www.componentone.com/SuperProducts/PdfViewerSilverlight/

を見て
関連する問題