1. asp.net中,把word文檔轉為pdf格式文件的問題。
C#編程,將Word轉PDF,該方法有一定弊端,但是比起網路上的其他方法來說,還算比較好的,弊端是需要客戶機上安裝有WORD2007或更高的版本。
1、添加引用:Microsoft.Office.Interop.Word版本12.0.0.0;2、在開頭添加命名空間引用:usingMicrosoft.Office.Interop.Word;3、具體實現方法如下:
//Word轉換成pdf
///<summary>
///把Word文件轉換成為PDF格式文件///</summary>
///<paramname="sourcePath">源文件路徑</param>///<paramname="targetPath">目標文件路徑</param>///<returns>true=轉換成功</returns>
privateboolWordToPDF(stringsourcePath,stringtargetPath){
boolresult=false;
Microsoft.Office.Interop.Word.WdExportFormatexportFormat=Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;objectparamMissing=Type.Missing;
Microsoft.Office.Interop.Word.=newMicrosoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.DocumentwordDocument=null;try
{
objectparamSourceDocPath=sourcePath;stringparamExportFilePath=targetPath;
Microsoft.Office.Interop.Word.=exportFormat;
boolparamOpenAfterExport=false;
Microsoft.Office.Interop.Word.=Microsoft.Office.Interop.Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Microsoft.Office.Interop.Word.WdExportRangeparamExportRange=Microsoft.Office.Interop.Word.WdExportRange.wdExportAllDocument;intparamStartPage=0;intparamEndPage=0;
Microsoft.Office.Interop.Word.WdExportItemparamExportItem=Microsoft.Office.Interop.Word.WdExportItem.wdExportDocumentContent;boolparamIncludeDocProps=true;boolparamKeepIRM=true;
Microsoft.Office.Interop.Word.=Microsoft.Office.Interop.Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;boolparamDocStructureTags=true;boolparamBitmapMissingFonts=true;boolparamUseISO19005_1=false;
wordDocument=wordApplication.Documents.Open(refparamSourceDocPath,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing);if(wordDocument!=null)
wordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat,paramOpenAfterExport,
paramExportOptimizeFor,paramExportRange,paramStartPage,paramEndPage,paramExportItem,paramIncludeDocProps,paramKeepIRM,paramCreateBookmarks,paramDocStructureTags,paramBitmapMissingFonts,paramUseISO19005_1,refparamMissing);
result=true;
if(wordDocument!=null){
wordDocument.Close(refparamMissing,refparamMissing,refparamMissing);wordDocument=null;}
if(wordApplication!=null){
wordApplication.Quit(refparamMissing,refparamMissing,refparamMissing);
wordApplication=null;}GC.Collect();
GC.WaitForPendingFinalizers();GC.Collect();
GC.WaitForPendingFinalizers();}catch{
result=false;
if(wordDocument!=null){
wordDocument.Close(refparamMissing,refparamMissing,refparamMissing);wordDocument=null;}
if(wordApplication!=null){
2. 急~急~~急~~~ ASP.NET 怎麼講圖片生成PDF文件,求代碼
我是藉助組件完成導出PDF文件的。在寫代碼之前,你要下載一個名為iTextSharp的組件,並將其引用到你的程序中。然後將生成的PDF文件通過流形式導出。
代碼如下:C#的
stringstrPDF_Nm=DateTime.Now.Year+"-"+DateTime.Now.Month+"-"+DateTime.Now.Day+"-"+DateTime.Now.Hour+"-"+DateTime.Now.Minute+".pdf";
iTextSharp.text.Documentdocument=newDocument();
iTextSharp.text.pdf.PdfWriterpdfwrite=PdfWriter.GetInstance(document,newFileStream(HttpContext.Current.Server.MapPath("~/img_Tmp/"+strPDF_Nm),FileMode.Create));
document.Open();
BaseFontbasefont=BaseFont.CreateFont(@"C:WindowsFontsSTKAITI.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//解決PDF不能顯示中文的關鍵;創建一個中文楷體的字體對象
iTextSharp.text.Fontfont=newiTextSharp.text.Font(basefont,14);
iTextSharp.text.Tabletable=newiTextSharp.text.Table(4);
iTextSharp.text.Cellcells=newCell(newPhrase("不良報告",font));
cells.Colspan=4;
cells.HorizontalAlignment=1;
table.AddCell(cells);
iTextSharp.text.Imagejpg=iTextSharp.text.Image.GetInstance(Server.MapPath("~/img_Tmp/"+strSavePath));
document.Add(jpg);
document.Add(table);
document.Close();
pdfwrite.Close();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType="application/PDF";
HttpContext.Current.Response.WriteFile(HttpContext.Current.Server.MapPath("~/img_Tmp/"+strPDF_Nm));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
3. 在ASP.NET中怎麼把網頁形式轉換為pdf格式
將htm轉換為pdf的任務,這是一個有很有用的功能塊,然而很遺憾,網上沒有現成可行(包括開源/免費、易用和可維護性的考慮)方案。既然沒有現成的解決方案就自己著手解決吧。 從htm生成pdf大概可以分兩步實現,第一步,解析htm,就是將htm源文件中那一對文本轉換為瀏覽器最終呈現給我們那種圖文並茂的結果。這是一個不可完成的任務,因為目前為止業界的軟體巨頭也沒有誰把htm解析做得很好的。對比ie、firefox等瀏覽器的顯示結果便可想而知。既然業界難題,我也就不去鑽牛角尖做技術攻關了,先跳過這步,考慮下一步的事情。 第二步,繪制pdf,這個簡單,網上有很多資料,有興趣的朋友可以研究pdf的文件格式,安裝二進制組裝pdf。我有興趣,然而沒有時間,我覺得軟體從業者時刻都應該關注最有價值的事情。軟體從業者要提高效率的第一法門便是重用,網上有一個叫itextsharp的東西是用來繪制pdf的,可以免費使用而且開源。 下載itextsharp,試著用itextsharp繪制htm看看效果,如您所料,繪制出的是htm的源代碼。因為第一步的事情我們還沒有解決,下面來解決第一步的事情。 記得很久以前見過一個.net寫的網頁snap工具,大概思路是利用webbrowser的DrawToBitmap方法將ie的顯示結果輸出到Sytem.Drawing.Bitmap對象。大概代碼如下: //WebBrowser wb=null; System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(w, h); wb.DrawToBitmap(bmp, new System.Drawing.Rectangle(0,0, w, h));ok,htm可以解析了,現在重組剛才的代碼,思路如下: 使用webbrowser將htm解析並轉換為圖片,使用itextsharp將剛才的圖片繪製成pdf。 有用是給公司開發的功能,暫時不便公開源碼,提供我編譯後的工具供下載使用,您也可以根據上面的思路定製: 使用方法, 1.將單個url轉換為pdf:PageToPDF.exe "http://www.g.cn/" "google.jpg" 2.將多個url轉換為pdf:pagetopdf.exe task.txt "C:\pdfdir\" task.txt是任務里表,裡面提供多行url,每個url以#文件名為後綴,如:http://www..com/#b表示將http://www..com/轉換為pdf文件名為b(擴展名系統自己會追加) 在asp.net環境下使用 將pagetopdf上傳至網站中,設定好目錄許可權,示例代碼: Code public static bool CreatePPDF(string url,string path) { try { if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(path)) return false; Process p = new Process(); string str = System.Web.HttpContext.Current.Server.MapPath("~/afafafasf/PageToPDF.exe "); if (!System.IO.File.Exists(str)) return false; p.StartInfo.FileName = str; p.StartInfo.Arguments = " \"" + url + "\" " + path; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); System.Threading.Thread.Sleep(500); return true; } catch(Exception ex) { Sys.Log.error("Pdf create err.",ex); } return false; } 特性 在使用任務形式工作時,系統會啟動多個進程,即任務管理器中會有多個pagetopdf.exe的進程,這是系統調度程序自己啟動的,為了加個任務處理速度。進程數由調度程序自己控制,最多不會超過十個。
記得採納啊
4. asp如何生成pdf格式的文件
另存為pdf格式,如果不能另存在網上下載一個格式轉換器就可以
5. 用asp將一個網頁生成另一個pdf格式的網頁,可以讓用戶在網上下載電子書或直接列印
如果只是想把你服務端的數據生成並利用IE下載到客戶機,服務端可使用ASPPDF,定位很準的
新版本的以前我試過,也支持遠程抓取網頁生成PDF的
樓主網路一把看看,資料很多的,不過好多WEB伺服器都不支持該組件哦,
如果是自己的伺服器,那安裝上去就可以使用了
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.CreateDocument
Doc.Title = "cxmz--jiaoan"
Doc.Creator = "Creat BY : BinBin"
Doc.Subject = "jiaoan"
Doc.Author = "binbin" '作者
Doc.Keywords = "binbin 56300877" '關鍵詞
Doc.Procer = "binbin" '製作者
Doc.CreationDate = Now()
Doc.ModDate = Now()
Doc.Encrypt "binbin", "", 128
Set Page = Doc.Pages.Add
Page.height = 842
Page.width = 595
......
如果樓主要使用IE在線列印,可考慮先生成PDF,然後再生成FLASH文件,有相關組件的