一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Asp.net常見word excel ppt pdf在線預(yù)覽方案

 ThinkTank_引擎 2014-03-23
  • 引言

    之前項(xiàng)目需要,查找了office文檔在線預(yù)覽的解決方案,順便記錄一下,方便以后查詢。

    方案一

    直接在瀏覽器中打開Office文檔在頁面上的鏈接。會(huì)彈出如下窗口:

     \

    優(yōu)點(diǎn):主流瀏覽器都支持。

    缺點(diǎn):Office文檔鏈接在瀏覽器中打開,會(huì)有如上圖的提示,需用戶自己選擇打開或者保存功能,如果客戶電腦上安裝迅雷下載軟件,會(huì)啟動(dòng)迅雷下載,用戶體驗(yàn)不好。

    方案二

    office文檔轉(zhuǎn)html,首先引入com組件中office庫,然后在程序集擴(kuò)展中引入word,excel,ppt的dll。

    \

     \

    然后F6生成,會(huì)報(bào)如下錯(cuò)誤:

    \

    解決辦法:

    \

    \

    office文檔轉(zhuǎn)換html輔助類:

    加載中...
    01.using System;
    02.using System.Collections.Generic;
    03.using System.Linq;
    04.using System.Web;
    05.using Microsoft.Office.Core;
    06.using Word = Microsoft.Office.Interop.Word;
    07.namespace Wolfy.OfficePreview
    08.{
    09.public class Office2HtmlHelper
    10.{
    11./// <summary>
    12./// Word轉(zhuǎn)成Html
    13./// </summary>
    14./// <param name="path">要轉(zhuǎn)換的文檔的路徑</param>
    15./// <param name="savePath">轉(zhuǎn)換成html的保存路徑</param>
    16./// <param name="wordFileName">轉(zhuǎn)換成html的文件名字</param>
    17.public static void Word2Html(string path, string savePath, string wordFileName)
    18.{
    19. 
    20.Word.ApplicationClass word = new Word.ApplicationClass();
    21.Type wordType = word.GetType();
    22.Word.Documents docs = word.Documents;
    23.Type docsType = docs.GetType();
    24.Word.Document doc = (Word.Document)docsType.InvokeMember("Open", System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { (object)path, true, true });
    25.Type docType = doc.GetType();
    26.string strSaveFileName = savePath + wordFileName + ".html";
    27.object saveFileName = (object)strSaveFileName;
    28.docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null, doc, new object[] { saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML });
    29.docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod, null, doc, null);
    30.wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, word, null);
    31. 
    32.}
    33./// <summary>
    34./// Excel轉(zhuǎn)成Html
    35./// </summary>
    36./// <param name="path">要轉(zhuǎn)換的文檔的路徑</param>
    37./// <param name="savePath">轉(zhuǎn)換成html的保存路徑</param>
    38./// <param name="wordFileName">轉(zhuǎn)換成html的文件名字</param>
    39.public static void Excel2Html(string path, string savePath, string wordFileName)
    40.{
    41.string str = string.Empty;
    42.Microsoft.Office.Interop.Excel.Application repExcel = new Microsoft.Office.Interop.Excel.Application();
    43.Microsoft.Office.Interop.Excel.Workbook workbook = null;
    44.Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
    45.workbook = repExcel.Application.Workbooks.Open(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    46.worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
    47.object htmlFile = savePath + wordFileName + ".html";
    48.object ofmt = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;
    49.workbook.SaveAs(htmlFile, ofmt, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
    50.object osave = false;
    51.workbook.Close(osave, Type.Missing, Type.Missing);
    52.repExcel.Quit();
    53.}
    54./// <summary>
    55./// ppt轉(zhuǎn)成Html
    56./// </summary>
    57./// <param name="path">要轉(zhuǎn)換的文檔的路徑</param>
    58./// <param name="savePath">轉(zhuǎn)換成html的保存路徑</param>
    59./// <param name="wordFileName">轉(zhuǎn)換成html的文件名字</param>
    60.public static void PPT2Html(string path, string savePath, string wordFileName)
    61.{
    62.Microsoft.Office.Interop.PowerPoint.Application ppApp = new Microsoft.Office.Interop.PowerPoint.Application();
    63.string strSourceFile = path;
    64.string strDestinationFile = savePath + wordFileName + ".html";
    65.Microsoft.Office.Interop.PowerPoint.Presentation prsPres = ppApp.Presentations.Open(strSourceFile, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
    66. 
    67.prsPres.SaveAs(strDestinationFile, Microsoft.Office.Interop.PowerPoint.PpSaveAsFileType.ppSaveAsHTML, MsoTriState.msoTrue);
    68.prsPres.Close();
    69.ppApp.Quit();
    70.}
    71.}
    72.}
    73. 
    74.Office2HtmlHelper
    Office2HtmlHelper 加載中...
    01.<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Office2Html.aspx.cs" Inherits="Wolfy.OfficePreview.Office2Html" %>
    02. 
    03.<!DOCTYPE html>
    04. 
    05.<html xmlns="http://www./1999/xhtml">
    06.<head runat="server">
    07.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    08.<title></title>
    09.</head>
    10.<body>
    11.<form id="form1" runat="server">
    12.<div>
    13.<asp:Button Text="Word轉(zhuǎn)Html" ID="btnWord" runat="server" CommandArgument="docx" OnClick="btnWord_Click" />
    14.<asp:Button ID="btnExcel" Text="Excel轉(zhuǎn)Html" runat="server" CommandArgument="xlsx" OnClick="btnWord_Click" />
    15.<asp:Button ID="btnPPT" Text="PPT轉(zhuǎn)Html" runat="server" CommandArgument="ppt" OnClick="btnWord_Click" />
    16.</div>
    17.</form>
    18.</body>
    19.</html>
    20. 
    21.Office2Html.aspx
    Office2Html.aspx
    01.using System;
    02.using System.Collections.Generic;
    03.using System.Linq;
    04.using System.Web;
    05.using System.Web.UI;
    06.using System.Web.UI.WebControls;
    07. 
    08.namespace Wolfy.OfficePreview
    09.{
    10.public partial class Office2Html : System.Web.UI.Page
    11.{
    12.protected void Page_Load(object sender, EventArgs e)
    13.{
    14. 
    15.}
    16.protected void btnWord_Click(object sender, EventArgs e)
    17.{
    18.Button btn = sender as Button;
    19.switch (btn.CommandArgument)
    20.{
    21.case "docx":
    22.Office2HtmlHelper.Word2Html(MapPath("/Doc/分析某網(wǎng)站的SEO策略(外鏈篇).doc"), MapPath("/Html/"), "分析某網(wǎng)站的SEO策略(外鏈篇)");
    23.break;
    24.case "xlsx":
    25.Office2HtmlHelper.Excel2Html(MapPath("/Excel/1994-2013北京市歷年最低工資標(biāo)準(zhǔn).xlsx"), MapPath("/Html/"), "1994-2013北京市歷年最低工資標(biāo)準(zhǔn)");
    26.break;
    27.case "ppt":
    28.Office2HtmlHelper.PPT2Html(MapPath("/PPT/23種設(shè)計(jì)模式詳解.ppt"), MapPath("/Html/"), "23種設(shè)計(jì)模式詳解");
    29.break;
    30.default:
    31.break;
    32.}
    33.}
    34.}
    35.}

    測試結(jié)果:
    \

    這里為了測試特找了含有圖片的office文檔,瀏覽正常:

    \

    \

    \

     要求:機(jī)器需安裝office,并且office環(huán)境是純凈的,所謂純凈就是不能有多個(gè)版本,lz曾經(jīng)在電腦上安裝過wps,被害苦了總是報(bào)如下錯(cuò)誤:

    \

    報(bào)這個(gè)錯(cuò)誤,只能哭了,網(wǎng)上的關(guān)于00046的解決辦法都嘗試了,不行。然后不得不重新安裝office,然后笑了。最好安裝office完整版,因?yàn)樵瓉硌b的不是完整版,不知道有沒有這方面的原因,也沒有測試,建議完整版。

    方案三

    office文檔轉(zhuǎn)PDF,PDF轉(zhuǎn)swf,使用flexpaper+swftools實(shí)現(xiàn)在線瀏覽。

    在操作office2007時(shí),需安裝SaveAsPDFandXPS.exe ,安裝成功后,如圖所示:

    \

    只有安裝了SaveAsPDFandXPS.exe,程序操作office文檔,才有office文檔另存為pdf文件。office2010不需要安裝了,內(nèi)置有這個(gè)功能。

     核心代碼:


    加載中...
    001.using System;
    002.using System.Collections.Generic;
    003.using System.Linq;
    004.using System.Web;
    005.using Word = Microsoft.Office.Interop.Word;
    006.using Excel = Microsoft.Office.Interop.Excel;
    007.using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    008.using Microsoft.Office.Core;
    009.namespace Wolfy.OfficePreview
    010.{
    011./// <summary>
    012./// Office2Pdf 將Office文檔轉(zhuǎn)化為pdf
    013./// </summary>
    014.public class Office2PDFHelper
    015.{
    016.public Office2PDFHelper()
    017.{
    018.//
    019.// TODO: 在此處添加構(gòu)造函數(shù)邏輯
    020.//
    021.}
    022./// <summary>
    023./// Word轉(zhuǎn)換成pdf
    024./// </summary>
    025./// <param name="sourcePath">源文件路徑</param>
    026./// <param name="targetPath">目標(biāo)文件路徑</param>
    027./// <returns>true=轉(zhuǎn)換成功</returns>
    028.public static bool DOCConvertToPDF(string sourcePath, string targetPath)
    029.{
    030.bool result = false;
    031.Word.WdExportFormat exportFormat = Word.WdExportFormat.wdExportFormatPDF;
    032.object paramMissing = Type.Missing;
    033.Word.ApplicationClass wordApplication = new Word.ApplicationClass();
    034.Word.Document wordDocument = null;
    035.try
    036.{
    037.object paramSourceDocPath = sourcePath;
    038.string paramExportFilePath = targetPath;
    039.Word.WdExportFormat paramExportFormat = exportFormat;
    040.bool paramOpenAfterExport = false;
    041.Word.WdExportOptimizeFor paramExportOptimizeFor = Word.WdExportOptimizeFor.wdExportOptimizeForPrint;
    042.Word.WdExportRange paramExportRange = Word.WdExportRange.wdExportAllDocument;
    043.int paramStartPage = 0;
    044.int paramEndPage = 0;
    045.Word.WdExportItem paramExportItem = Word.WdExportItem.wdExportDocumentContent;
    046.bool paramIncludeDocProps = true;
    047.bool paramKeepIRM = true;
    048.Word.WdExportCreateBookmarks paramCreateBookmarks = Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;
    049.bool paramDocStructureTags = true;
    050.bool paramBitmapMissingFonts = true;
    051.bool paramUseISO19005_1 = false;
    052.wordDocument = wordApplication.Documents.Open(
    053.ref paramSourceDocPath, ref paramMissing, ref paramMissing,
    054.ref paramMissing, ref paramMissing, ref paramMissing,
    055.ref paramMissing, ref paramMissing, ref paramMissing,
    056.ref paramMissing, ref paramMissing, ref paramMissing,
    057.ref paramMissing, ref paramMissing, ref paramMissing,
    058.ref paramMissing);
    059.if (wordDocument != null)
    060.wordDocument.ExportAsFixedFormat(paramExportFilePath,
    061.paramExportFormat, paramOpenAfterExport,
    062.paramExportOptimizeFor, paramExportRange, paramStartPage,
    063.paramEndPage, paramExportItem, paramIncludeDocProps,
    064.paramKeepIRM, paramCreateBookmarks, paramDocStructureTags,
    065.paramBitmapMissingFonts, paramUseISO19005_1,
    066.ref paramMissing);
    067.result = true;
    068.}
    069.catch
    070.{
    071.result = false;
    072.}
    073.finally
    074.{
    075.if (wordDocument != null)
    076.{
    077.wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
    078.wordDocument = null;
    079.}
    080.if (wordApplication != null)
    081.{
    082.wordApplication.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
    083.wordApplication = null;
    084.}
    085.GC.Collect();
    086.GC.WaitForPendingFinalizers();
    087.GC.Collect();
    088.GC.WaitForPendingFinalizers();
    089.}
    090.return result;
    091.}
    092. 
    093./// <summary>
    094./// 把Excel文件轉(zhuǎn)換成PDF格式文件 
    095./// </summary>
    096./// <param name="sourcePath">源文件路徑</param>
    097./// <param name="targetPath">目標(biāo)文件路徑</param>
    098./// <returns>true=轉(zhuǎn)換成功</returns>
    099.public static bool XLSConvertToPDF(string sourcePath, string targetPath)
    100.{
    101.bool result = false;
    102.Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
    103.object missing = Type.Missing;
    104.Excel.ApplicationClass application = null;
    105.Excel.Workbook workBook = null;
    106.try
    107.{
    108.application = new Excel.ApplicationClass();
    109.object target = targetPath;
    110.object type = targetType;
    111.workBook = application.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
    112.missing, missing, missing, missing, missing, missing, missing, missing, missing);
    113.workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
    114.result = true;
    115.}
    116.catch
    117.{
    118.result = false;
    119.}
    120.finally
    121.{
    122.if (workBook != null)
    123.{
    124.workBook.Close(true, missing, missing);
    125.workBook = null;
    126.}
    127.if (application != null)
    128.{
    129.application.Quit();
    130.application = null;
    131.}
    132.GC.Collect();
    133.GC.WaitForPendingFinalizers();
    134.GC.Collect();
    135.GC.WaitForPendingFinalizers();
    136.}
    137.return result;
    138.}
    139.///<summary>       
    140./// 把PowerPoint文件轉(zhuǎn)換成PDF格式文件      
    141.///</summary>       
    142.///<param name="sourcePath">源文件路徑</param>    
    143.///<param name="targetPath">目標(biāo)文件路徑</param>
    144.///<returns>true=轉(zhuǎn)換成功</returns>
    145.public static bool PPTConvertToPDF(string sourcePath, string targetPath)
    146.{
    147.bool result;
    148.PowerPoint.PpSaveAsFileType targetFileType = PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
    149.object missing = Type.Missing;
    150.PowerPoint.ApplicationClass application = null;
    151.PowerPoint.Presentation persentation = null;
    152.try
    153.{
    154.application = new PowerPoint.ApplicationClass();
    155.persentation = application.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse); persentation.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);
    156.result = true;
    157.}
    158.catch
    159.{
    160.result = false;
    161.}
    162.finally
    163.{
    164.if (persentation != null)
    165.{
    166.persentation.Close();
    167.persentation = null;
    168.}
    169.if (application != null)
    170.{
    171.application.Quit();
    172.application = null;
    173.}
    174.GC.Collect();
    175.GC.WaitForPendingFinalizers();
    176.GC.Collect();
    177.GC.WaitForPendingFinalizers();
    178.}
    179.return result;
    180.}
    181.}
    182.}
    183. 
    184.Office2PDFHelper
    Office2PDFHelper 加載中...
    01.using System;
    02.using System.Collections.Generic;
    03.using System.Linq;
    04.using System.Web;
    05.using System.Web.UI;
    06.using System.Web.UI.WebControls;
    07. 
    08.namespace Wolfy.OfficePreview
    09.{
    10.public partial class Office2PDF : System.Web.UI.Page
    11.{
    12.protected void Page_Load(object sender, EventArgs e)
    13.{
    14. 
    15.}
    16.protected void btnWord_Click(object sender, EventArgs e)
    17.{
    18.Button btn = sender as Button;
    19.switch (btn.CommandArgument)
    20.{
    21.case "docx":
    22.Office2PDFHelper.DOCConvertToPDF(MapPath("/Doc/分析某網(wǎng)站的SEO策略(外鏈篇).doc"), MapPath("/PDF/分析某網(wǎng)站的SEO策略(外鏈篇).pdf"));
    23.break;
    24.case "xlsx":
    25.Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市歷年最低工資標(biāo)準(zhǔn).xlsx"), MapPath("/PDF/1994-2013北京市歷年最低工資標(biāo)準(zhǔn).pdf"));
    26.break;
    27.case "ppt":
    28.Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23種設(shè)計(jì)模式詳解.ppt"), MapPath("/PDF/23種設(shè)計(jì)模式詳解.pdf"));
    29.break;
    30.default:
    31.break;
    32.}
    33.}
    34.}
    35.}
    36. 
    37.Office2PDF
    Office2PDF 加載中...
    01.<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Office2PDF.aspx.cs" Inherits="Wolfy.OfficePreview.Office2PDF" %>
    02. 
    03.<!DOCTYPE html>
    04. 
    05.<html xmlns="http://www./1999/xhtml">
    06.<head runat="server">
    07.<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    08.<title></title>
    09.</head>
    10.<body>
    11.<form id="form1" runat="server">
    12.<div>
    13.<asp:Button Text="Word轉(zhuǎn)PDF" ID="btnWord" runat="server" CommandArgument="docx" OnClick="btnWord_Click" />
    14.<asp:Button ID="btnExcel" Text="Excel轉(zhuǎn)PDF" runat="server" CommandArgument="xlsx" OnClick="btnWord_Click" />
    15.<asp:Button ID="btnPPT" Text="PPT轉(zhuǎn)PDF" runat="server" CommandArgument="ppt" OnClick="btnWord_Click" />
    16.</div>
    17.</form>
    18.</body>
    19.</html>
    20. 
    21.Office2PDF.aspx
    Office2PDF.aspx

    測試結(jié)果:
    \

     \

    \

    \

    此方案office轉(zhuǎn)pdf文件的過程的要求與方案二要求相同。

    pdf轉(zhuǎn)換完成后,就可以將pdf轉(zhuǎn)換為swf,使用flexpaper+swftools實(shí)現(xiàn)在線瀏覽了,可參考我之前的一篇文章:

    FlexPaper+SWFTool+操作類=在線預(yù)覽PDF

    方案四

    office文檔直接轉(zhuǎn)換為swf,使用flexpaper+swftool實(shí)現(xiàn)在先瀏覽。

    office直接轉(zhuǎn)換為swf,這里使用flashpaper來實(shí)現(xiàn):

    FlashPaper是一個(gè)虛擬打印機(jī),可將word文件直接轉(zhuǎn)化成swf格式文件(.doc.xls .txt .pdf等文件都可以正常生成SWF格式)。

    這里只貼出核心代碼:

    01.using System;
    02.using System.Collections.Generic;
    03.using System.Diagnostics;
    04.using System.Linq;
    05.using System.Web;
    06.using System.Web.UI;
    07.using System.Web.UI.WebControls;
    08. 
    09.namespace Wolfy.OfficePreview
    10.{
    11.public partial class Office2Swf : System.Web.UI.Page
    12.{
    13.protected void Page_Load(object sender, EventArgs e)
    14.{
    15. 
    16.}
    17.protected void btnWord_Click(object sender, EventArgs e)
    18.{
    19.Button btn = sender as Button;
    20.switch (btn.CommandArgument)
    21.{
    22.case "docx":
    23.ConvertOffice2Swf(MapPath("/Doc/分析某網(wǎng)站的SEO策略(外鏈篇).doc"), MapPath("/SWF/分析某網(wǎng)站的SEO策略(外鏈篇).swf"));
    24.break;
    25.case "xlsx":
    26.Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市歷年最低工資標(biāo)準(zhǔn).xlsx"), MapPath("/SWF/1994-2013北京市歷年最低工資標(biāo)準(zhǔn).swf"));
    27.break;
    28.case "ppt":
    29.Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23種設(shè)計(jì)模式詳解.ppt"), MapPath("/SWF/23種設(shè)計(jì)模式詳解.swf"));
    30.break;
    31.default:
    32.break;
    33.}
    34.}
    35./// <summary>
    36./// office 轉(zhuǎn)swf
    37./// </summary>
    38./// <param name="officePath">要轉(zhuǎn)換的office文檔路徑</param>
    39./// <param name="swfPath">轉(zhuǎn)換后swf的路徑</param>
    40.private void ConvertOffice2Swf(string officePath, string swfPath)
    41.{
    42.Process process = new Process();     //創(chuàng)建進(jìn)程對(duì)象
    43.ProcessStartInfo startInfo = new ProcessStartInfo();
    44.string paperroot = @"C:\Program Files\Macromedia\<a href="http://www./design/wfl/" target="_blank" class="keylink">Flash</a>Paper 2\FlashPrinter.exe";//這里是FlashPrinter的路徑
    45.string docFile = officePath;
    46.string swfFile = swfPath;
    47.startInfo.FileName = paperroot;
    48.startInfo.Arguments = docFile + " -o " + swfFile;
    49.startInfo.UseShellExecute = false;     //不使用系統(tǒng)外殼程序啟動(dòng)
    50.startInfo.RedirectStandardInput = false;   //不重定向輸入
    51.startInfo.RedirectStandardOutput = false;   //重定向輸出
    52.startInfo.CreateNoWindow = true;     //不創(chuàng)建窗口
    53.process.StartInfo = startInfo;
    54.process.Start();  
    55.if (process != null)
    56.process.Close();
    57. 
    58.}
    59.}
    60.}

    鑒于測試時(shí),flashpaper在將office文檔轉(zhuǎn)換為swf的時(shí)候,在使用flexpaper的瀏覽時(shí),出現(xiàn)轉(zhuǎn)換的內(nèi)容為空,猜測:flexpaper能打開的swf文件與flashpaper轉(zhuǎn)的swf文件不兼容。最后使用flashpaper將office文檔轉(zhuǎn)換為pdf,然后走方案三,pdf轉(zhuǎn)swf的步驟。另外本地測試時(shí),沒問題。將項(xiàng)目部署在IIS上,不能瀏覽,出現(xiàn)卡死的情況,調(diào)試發(fā)現(xiàn),文件太大,在office還沒完全轉(zhuǎn)換為pdf的情況下,swftool工具就去尋找pdf文件,出現(xiàn)錯(cuò)誤。

    IIS上,無法瀏覽,查詢網(wǎng)上解決方案,和權(quán)限這塊有關(guān),按照步驟設(shè)置了,未果,有點(diǎn)遺憾。

    方案五

    使用點(diǎn)聚公司的weboffice控件,測試后發(fā)現(xiàn)兼容性較差,放棄。有興趣的可以研究一下。

    方案六

    office轉(zhuǎn)pdf后,直接瀏覽器打開,此方案鑒于目前主流瀏覽器都集成adobe reader功能,可實(shí)現(xiàn)直接打開PDF文件。將pdf文件鏈接可直接打開。

    必要條件:本地需安裝adobe reader類似軟件。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    人体偷拍一区二区三区| 国产日韩欧美在线播放| 黄色国产自拍在线观看| 国产麻豆精品福利在线| 日韩少妇人妻中文字幕| 国产成人精品国产亚洲欧洲| 最近中文字幕高清中文字幕无| 亚洲视频一区自拍偷拍另类 | 欧美成人一区二区三区在线| 加勒比人妻精品一区二区| 男女午夜福利院在线观看| 91人妻人人做人碰人人九色| 国产无摭挡又爽又色又刺激| 十八禁日本一区二区三区| 麻豆91成人国产在线观看| 福利视频一区二区在线| 亚洲乱码av中文一区二区三区| 偷拍偷窥女厕一区二区视频| 欧美日韩精品久久第一页| 熟女高潮一区二区三区| 亚洲男人天堂成人在线视频| 日本丁香婷婷欧美激情| 亚洲精品小视频在线观看| 国产偷拍精品在线视频| 国产女性精品一区二区三区| 精品人妻久久一品二品三品| 91人妻人人精品人人爽| 国产午夜精品福利免费不| 人妻熟女欲求不满一区二区| 激情视频在线视频在线视频| 蜜臀人妻一区二区三区| 国产成人精品午夜福利av免费| 国产精品免费精品一区二区| 精品少妇人妻av一区二区蜜桃 | 大香伊蕉欧美一区二区三区| 成人国产激情在线视频| 亚洲中文在线中文字幕91| 亚洲欧美精品伊人久久| 日本高清视频在线播放| 色播五月激情五月婷婷| 日本高清一区免费不卡|