亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

C# 中使用Word文檔對圖像進行操作

系統 3506 0

? ? ? ? ? ? ? ? ? ? ? ? ? C# 中使用 Word 文檔對圖像進行操作

Download Files: ImageOperationsInWord.zip

簡介

在這篇文章中我們可以學到在 C# 程序中使用一個 Word 文檔對圖像的各種操作。圖像會比閱讀文字更有吸引力,而且圖像是與內容緊密相關的。有時圖像可以將內容描述的更為清晰,就像使用圖表顯示某一周期內的數據變化。

?

Spire.Doc for .NET 是一個的基于 .NET 專業 Word 組件,它不僅可以在脫離微軟 office 自動化的情況下快速地生成、打開、修改、保存 Word 文檔 ,還支持用戶使用 C# 將圖像插入 Word 并根據頁面設置它的大小。這篇就是介紹給大家一個簡單的方法來插入圖像 ---- 使用 Spire.Doc for .NET。

?

以下就是我們要學習的操作步驟:

1、 Word 文檔中插入一張圖片。

2、 Word 文檔中提取一張圖片。

3、 Word 文檔中將圖片替換成文字。

?

在進行這些操作之前我們要先創建 Word 文檔。在這里我使用 Spire.Doc for .NET 來創建文檔并完成后續的操作。

? ?

創建一個控制臺程序來做演示。根據以下步驟: ????????

1、 打開 Visual Studio ????????

2、 "File" -> "New" -> "Project..." ????????

3、 選擇 C# 語言然后選擇控制臺程序并命名為 “ImageOperationInWord” ????????

4、 單擊 OK

?

Word 中插入圖片

首先,創建新的 Word 文檔并為之添加章節和段。然后,使用 p.AppendPicture(Image) 方法將圖像插入到新段中。設置圖像的高度和寬度屬性來規定圖片大小。使用以下代碼來用 C# 把圖片插入到 Word 中。

?

Namespace 使用:

using ?Spire.Doc;??
using ?Spire.Doc.Documents;??
using ?Spire.Doc.Fields;??
using ?System.Drawing; ?

?

Word 文檔中創建并插入圖像:

?

? private ? static ? void ?InsertImage() ?
{??
?// Create?Document??
? Document?document?=? new ?Document();??
? Section?s?=?document.AddSection();??
??Paragraph?p?=?s.AddParagraph();??
?
? // Insert?Image?and?Set?Its?Size??
? DocPicture?Pic?=?p.AppendPicture(Image.FromFile( @" D:\C#?Corner.png " ));??
? Pic.Width?=? 500 ;??
? Pic.Height?=? 500 ;??

? // Save?and?Launch??
? document.SaveToFile( " Image.docx " ,?FileFormat.Docx);??
? System.Diagnostics.Process.Start( " Image.docx " );??
?} ?

?

?

結果

?

? C# 中使用Word文檔對圖像進行操作

Word 文檔中提取圖片

? 在這里我們學習下如何在 C# 中從已存在的 Word 文檔中提取圖片并將圖片保存到指定的路徑。圖片是一種屬于段落項目的文檔對象。 Spire.Doc for .NET? 提供了一個 DocumentObject 類來存儲文檔中的圖像,并且還提供 DocPicture 類來獲得和設置文檔中的圖像。在這里我使用了 ExtractImages.docx 并在其中保存了兩幅圖。在輸出圖像文件夾中我們可以看到紅色框中的來自 Word 文檔的兩幅圖像。

?

? 提取 Word 圖片代碼:

?

? private ? static ? void ?ExtractImages()??
?{??
????? // Load?document??
?????Document?document?=? new ?Document( @" D:\ExtractImages.docx " );??
????? int ?index?=? 0 ;??
???
????? // Get?Each?Section?of?Document??
????? foreach ?(Section?section? in ?document.Sections)??
?????{??
????????? // Get?Each?Paragraph?of?Section??
????????? foreach ?(Paragraph?paragraph? in ?section.Paragraphs)??
?????????{??
? ? ? ? ? ?? // Get?Each?Document?Object?of?Paragraph?Items??
????????????? foreach ?(DocumentObject?docObject? in ?paragraph.ChildObjects)??
?????????????{??
????????????????? // If?Type?of?Document?Object?is?Picture,?Extract.??
????????????????? if ?(docObject.DocumentObjectType?==?DocumentObjectType.Picture)??
?????????????????{??
?????????????????????DocPicture?pic?=?docObject? as ?DocPicture;??
?????????????????????String?imgName?=?String.Format( @" D:\Extracted_Image-{}.png " ,?index);??
??
????????????????????? // Save?Image??
?????????????????????pic.Image.Save(imgName,?System.Drawing.Imaging.ImageFormat.Png);??
?????????????????????index++;??
?????????????????}??
?????????????}??
?????????}??
?????}??
?}??

? ?

? ? 結果

?

? ?? C# 中使用Word文檔對圖像進行操作 ?

?

Word 文檔中將圖片替換為文字

? ? 我們來看下 ?Spire.Doc 是如何幫助開發者們解決他們關于 office 技術的程序問題的。觀察以上問題的描述,我們最終是想使用相應的 “C# Corner Demo Example - {image index}”? 來將 Word 文件中的每幅圖都替換掉。我們還是用下面的演示代碼來解決吧。

?

? ?Word 文檔中的圖片替換為文字的代碼:

?

?
? private ? static ? void ?ReplaceImageWithText()??
?{??
?????Document?doc?=? new ?Document( @" D:\ExtractImages.docx " );??
????? int ?j?=? 1 ;??
????? foreach ?(Section?sec? in ?doc.Sections)??
????{??
????????? foreach ?(Paragraph?para? in ?sec.Paragraphs)??
?????????{??
?????????????List<DocumentObject>?images?=? new ?List<DocumentObject>();??
????????????? foreach ?(DocumentObject?docObj? in ?para.ChildObjects)??
???
????????????{??
????????????????? if ?(docObj.DocumentObjectType?==?DocumentObjectType.Picture)??
?????????????????{??
?????????????????????images.Add(docObj);??
????????????????}??
?????????????}??
????????????? foreach ?(DocumentObject?pic? in ?images)??
?????????????{??
????????????????? int ?index?=?para.ChildObjects.IndexOf(pic);??
?????????????????TextRange?range?=? new ?TextRange(doc);??
?????????????????range.Text?=? string .Format( " C#?Corner?Demo?Example?{} " ,?j);??
????????????????para.ChildObjects.Insert(index,?range);??
?????????????????para.ChildObjects.Remove(pic);??
?????????????????j++;??
?????}
?????}??
?????doc.SaveToFile( @" D:\result.docx " ,?FileFormat.Docx);??
?????System.Diagnostics.Process.Start( @" D:\result.docx " );??
?}???

? ? ? ?

? ? ? 在替換前

?

? ? ?? C# 中使用Word文檔對圖像進行操作

?

? ? ?將圖片替換為文字后

?

? ? ?? C# 中使用Word文檔對圖像進行操作

? ?注意:更詳細的代碼請下載最上面的附加的壓縮包。

?

總結

?

? ?希望大家看完后都理解了如何以編程方式在 Word 文檔中對圖像進行操作。如果大家有其他的關于圖像操作的好建議,歡迎討論哦。

關于 Spire.Doc 的更多內容點擊 這里

C# 中使用Word文檔對圖像進行操作


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美国产亚洲一区 | 亚洲v在线 | 午夜在线播放免费高清观看 | 亚洲人成绝费网站色ww | 爱情片在线观看 | 91尤物在线| 久久国产亚洲欧美日韩精品 | 天天天天干 | 国产精品自在线天天看片 | 久久久久免费精品视频 | 国产高清视频在线播放 | 亚洲一区二区三区精品影院 | 这里只有精品视频在线观看 | 九九在线观看免费视频 | 七次郎在线成人精品 | 久久免费高清 | 久久免费精品高清麻豆 | 欧美日韩亚洲精品一区二区三区 | 中文字幕丝袜在线56页 | 成人一级片在线观看 | 中国国产成人精品久久 | 国产精品亚洲专区在线播放 | 久久久精品日本一区二区三区 | 久久综合色视频 | 99re6在线视频免费精品 | 欧美成人精品一区二区 | 99在线热视频只有精品免费 | 国产大片中文字幕 | 国内精品久久久久影院嫩草 | 国产区精品福利在线观看精品 | 免费一级毛片在线视频观看 | 中文字幕伊人久久网 | 亚洲精品久久一区二区无卡 | 日韩中文字幕免费在线观看 | 动漫精品一区二区 | 97在线视频免费播放 | 久久综合精品国产一区二区三区无 | 久久久久久久综合狠狠综合 | 日韩欧美一二三区 | 日韩欧美视频一区二区三区 | 99久久免费国内精品 |