2012-01-13 46 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文件所需的全部內容。完成之後,您有兩種選擇:

  • 您可以發回字節作爲操作的結果。在這種情況下,您可以向用戶顯示一個SaveDialog將文件保存到本地磁盤。
  • 您可以將生成的文件發送到另一個aspx頁面,並將PDF文件顯示給用戶,然後用戶可以選擇將其保存到本地磁盤或僅查看它。

我希望那就是你要找的。

2

當然,你可以。但爲什麼?!正如我對AutomationFactory.CreateObject的理解,您可以在客戶端計算機上安裝Excel或PDF時執行此操作。

但處理的Web應用程序(特別是當它不是一個企業應用程序)要查看PDF/XLS/XLSX/... ...任何地方,你可以對什麼是安裝在客戶機上或不中繼。

我對我的一個項目有類似的情況。我們使用XPS格式在silverlight中顯示,因爲它具有本地支持。其他格式轉換爲xps。

轉換中存在細微差別,例如,對於excel文檔,我認爲最好的辦法是分別轉換每張紙,並實現與查看者不同的特殊查看器,例如word文檔或pdf。

有第三方查看器,不僅可以查看silverlight上的xps,也可以查看pdf。但沒有它們,您只能讓用戶下載PDF文件而不去查看它,因爲這些第三方查看器很可能將pdf轉換爲xps格式。

任何方式,尤其是沒有第三方,它會實現Silverlight的PDF閱讀器巨大的努力。所以我建議你使用xps進行查看。但是,當您需要下載PDF文件而不是使用XPS進行查看和下載PDF文件時。在這種情況下,您的轉換器將爲每個sitation生成2種格式。

例如,看

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

http://silverpdf.codeplex.com/

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

相關問題