亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#采用OpenXml給word里面插入圖片

2020-01-24 02:23:39
字體:
來源:轉載
供稿:網友

本文實例講述了C#采用OpenXml給word里面插入圖片的方法,分享給大家供大家參考。具體分析如下:

首先需要指出的是在MSDN官網有完整的OpenXML教程,雖然是全英文的不過還是很有幫助的。

注,原來摘抄代碼里面沒有模板,在copy過來發現插入word中的圖片大小不一樣,我們如何查找設置圖片大小帶代碼的那一塊,建議自己用在word里面插入一張圖片,通過OpenXml Tools 反編譯出C#代碼,然后改變圖片的大小,再次反編譯。

使用byeond compare 【http://www.scootersoftware.com/ 下載地址】比較C#代碼,就會發現是因為new DW.Extent() { Cx = 990000L, Cy = 792000L}  是因為這段設置造成的。以后其實很多地方都可以借助OpenXml Tools反編譯來進行對比。查看設置樣式的屬性位置。

MSDN openxml學習鏈接:  http://msdn.microsoft.com/en-us/library/office/bb491088(v=office.15).aspx。感興趣的朋友可以查看一下。

示例代碼如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using DocumentFormat.OpenXml;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Wordprocessing;using System.IO;using DW = DocumentFormat.OpenXml.Drawing.Wordprocessing;using PIC = DocumentFormat.OpenXml.Drawing.Pictures;using A = DocumentFormat.OpenXml.Drawing;namespace AddPictureIntoWord{  public class Program  {    public static void Main(string[] args)    {      string picPath = "u=639047729,3872612606&fm=11&gp=0.bmp";      string filePath = "Test.docx";      AddPictureIntoWord(filePath, picPath);    }    public static void AddPictureIntoWord(string filePath, string picturePath)    {      using (WordprocessingDocument doc = WordprocessingDocument.Open(filePath, true))      {        string picType = picturePath.Split('.').Last();        ImagePartType imagePartType;        ImagePart imagePart = null;        // 通過后綴名判斷圖片類型, true 表示忽視大小寫        if (Enum.TryParse<ImagePartType>(picType, true, out imagePartType))        {          imagePart = doc.MainDocumentPart.AddImagePart(imagePartType);        }        imagePart.FeedData(File.Open(picturePath, FileMode.Open)); // 讀取圖片二進制流        AddImageToBody(doc, doc.MainDocumentPart.GetIdOfPart(imagePart));      }    }    // 摘抄自http://msdn.microsoft.com/EN-US/library/office/bb497430(v=office.15).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-5       private static void AddImageToBody(WordprocessingDocument wordDoc, string relationshipId)    {      // Define the reference of the image.      var element =         new Drawing(           new DW.Inline(             new DW.Extent() { Cx = 990000L, Cy = 792000L }, // 調節圖片大小             new DW.EffectExtent()             {               LeftEdge = 0L,               TopEdge = 0L,               RightEdge = 0L,               BottomEdge = 0L             },             new DW.DocProperties()             {               Id = (UInt32Value)1U,               Name = "Picture 1"             },             new DW.NonVisualGraphicFrameDrawingProperties(               new A.GraphicFrameLocks() { NoChangeAspect = true }),             new A.Graphic(               new A.GraphicData(                 new PIC.Picture(                   new PIC.NonVisualPictureProperties(                     new PIC.NonVisualDrawingProperties()                     {                       Id = (UInt32Value)0U,                       Name = "New Bitmap Image.jpg"                     },                     new PIC.NonVisualPictureDrawingProperties()),                   new PIC.BlipFill(                     new A.Blip(                       new A.BlipExtensionList(                         new A.BlipExtension()                         {                           Uri =                            "{28A0092B-C50C-407E-A947-70E740481C1C}"                         })                     )                     {                       Embed = relationshipId,                       CompressionState =                       A.BlipCompressionValues.Print                     },                     new A.Stretch(                       new A.FillRectangle())),                   new PIC.ShapeProperties(                     new A.Transform2D(                       new A.Offset() { X = 0L, Y = 0L },                       new A.Extents() { Cx = 990000L, Cy = 792000L }), //與上面的對準                     new A.PresetGeometry(                       new A.AdjustValueList()                     ) { Preset = A.ShapeTypeValues.Rectangle }))               ) { Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture" })           )           {             DistanceFromTop = (UInt32Value)0U,             DistanceFromBottom = (UInt32Value)0U,             DistanceFromLeft = (UInt32Value)0U,             DistanceFromRight = (UInt32Value)0U,             EditId = "50D07946"           });      // Append the reference to body, the element should be in a Run.      wordDoc.MainDocumentPart.Document.Body.AppendChild(new Paragraph(new Run(element)));    }  }}

本文示例運行效果如下圖所示:

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品日韩美女的视频高清| 欧美超级免费视 在线| 人体精品一二三区| 亚洲视频在线观看免费| 亚洲男女性事视频| 精品福利樱桃av导航| 97视频在线观看网址| 国产高清在线不卡| 亚洲片av在线| 91av在线国产| 国产又爽又黄的激情精品视频| 成人欧美一区二区三区黑人| 亚洲性av在线| 欧美成人久久久| 日韩欧美亚洲范冰冰与中字| 久久久国产成人精品| 国产有码一区二区| 日韩精品在线播放| 中文字幕精品国产| 国产视频观看一区| 蜜臀久久99精品久久久无需会员| 91精品国产九九九久久久亚洲| 亚洲精品黄网在线观看| 国产精品三级在线| 性视频1819p久久| 亚洲黄色片网站| 欧美高清在线视频观看不卡| 亚洲激情小视频| 亚洲欧美制服另类日韩| 欧美国产一区二区三区| 午夜免费在线观看精品视频| 最近2019中文免费高清视频观看www99| 亚洲福利精品在线| 国产精品v片在线观看不卡| 国产精品美女999| 久久资源免费视频| 久久综合九色九九| 亚洲一区二区中文字幕| 精品国产精品三级精品av网址| 日韩国产精品亚洲а∨天堂免| 国产成人精品国内自产拍免费看| 久久综合免费视频影院| 日韩精品一二三四区| 狠狠爱在线视频一区| 欧美日韩中文字幕综合视频| 97成人超碰免| 国产精品久久久久久久久粉嫩av| 午夜精品久久久久久久久久久久| 亚洲人精选亚洲人成在线| 日韩专区在线播放| 亚洲女性裸体视频| 国产精品三级美女白浆呻吟| 国产精品日韩欧美| 亚洲天堂av电影| 成人黄色大片在线免费观看| 亚洲高清免费观看高清完整版| 欧美高跟鞋交xxxxhd| 欧美孕妇孕交黑巨大网站| 久久免费视频这里只有精品| 色综合久久天天综线观看| 日韩欧美精品网址| 国产成人鲁鲁免费视频a| 国产精品自产拍在线观| 欧美激情综合亚洲一二区| 久久久最新网址| 51精品国产黑色丝袜高跟鞋| 91高清在线免费观看| 中文字幕av一区二区三区谷原希美| 亚洲第一偷拍网| www.久久久久久.com| 日本高清久久天堂| 亚洲精品91美女久久久久久久| 欧美大片va欧美在线播放| 欧美—级a级欧美特级ar全黄| 国产精品久久久久秋霞鲁丝| 亚洲精品成人久久电影| 91在线视频免费| 色视频www在线播放国产成人| 久久久亚洲影院你懂的| 中文字幕精品网| 91精品啪aⅴ在线观看国产| 另类专区欧美制服同性| 国产精品久在线观看| 国产一区二区美女视频| 川上优av一区二区线观看| 亚洲国产91精品在线观看| 中文字幕国产日韩| 国产精品福利在线观看网址| 日本高清不卡的在线| 国产欧美精品一区二区三区-老狼| 大桥未久av一区二区三区| 亚洲国产女人aaa毛片在线| 欧美精品第一页在线播放| 亚洲电影av在线| 亚洲免费电影一区| 美女精品视频一区| www高清在线视频日韩欧美| 国产精品成久久久久三级| 国产精品自拍视频| 久久国产精品久久久| 亚洲性av在线| 国产欧洲精品视频| 亚洲欧美综合区自拍另类| 久久91亚洲精品中文字幕奶水| 一区二区三区精品99久久| 日本免费一区二区三区视频观看| 久久精品最新地址| 国产精品av在线| www.欧美三级电影.com| 亚洲国产精品999| 一区二区日韩精品| 成人激情av在线| 91手机视频在线观看| 亚洲精品国精品久久99热| 亚洲第一区第二区| 亚洲美女激情视频| 国产suv精品一区二区| 国产成人精品免费久久久久| 国产精品香蕉国产| 色av吧综合网| 国产精品视频永久免费播放| 欧美午夜激情小视频| 国产91久久婷婷一区二区| 国产欧美日韩综合精品| 97av在线视频| 韩国视频理论视频久久| 亚洲精品中文字幕av| 97精品一区二区视频在线观看| 蜜臀久久99精品久久久无需会员| 国产一区二区三区18| 欧美视频不卡中文| 久久成人精品电影| 日韩中文娱乐网| 亚洲精美色品网站| 在线激情影院一区| 国产主播喷水一区二区| 午夜免费在线观看精品视频| 欧美成aaa人片在线观看蜜臀| 亚洲色图偷窥自拍| 91精品视频专区| 在线日韩欧美视频| 韩国福利视频一区| 国产成人亚洲综合| 日韩在线免费观看视频| 亚洲精品www久久久久久广东| 日韩亚洲国产中文字幕| 欧美在线视频观看| 亚洲精品之草原avav久久| 中文字幕亚洲自拍| 欧美性猛交xxxx| 国自产精品手机在线观看视频| 中文字幕亚洲情99在线| 伊人久久精品视频| 91亚洲精品一区二区| 亚洲精品自在久久| 欧美天天综合色影久久精品| 国产亚洲视频在线观看| 日韩中文字幕网| 91久久综合亚洲鲁鲁五月天| 成人国产精品色哟哟| 久久综合久中文字幕青草| 亚洲精品国产精品国自产观看浪潮| 国产中文字幕日韩| 欧美大片在线免费观看|