.如何在Net word中插入圖片
要使用代碼將圖片插入word,首先必須了解圖片在word中以何種結(jié)構(gòu)存在。讓我們一起分析一下Word的圖片結(jié)構(gòu)。
圖片如何存在于主文件中
在Document.xml中,文件以xml節(jié)點(diǎn)屬性的形式顯示下圖1-1所示節(jié)點(diǎn)的圖片。
圖1-1
圖片物理結(jié)構(gòu)
Word的圖片物理文件以什么結(jié)構(gòu)存在?照片位于word/media路徑下。換句話說(shuō),word本身存儲(chǔ)Word的物理文件。如下圖1-2所示。
圖片如何與文檔主題結(jié)構(gòu)相關(guān)聯(lián)?
加載Word時(shí),不查找物理文件,而是查找與主文件相關(guān)聯(lián)的關(guān)系文件(Document.xml.rels)(請(qǐng)參見(jiàn)下圖1-3,其中Id=")
Target='/media/image.jpg '是需要關(guān)聯(lián)的大象路徑。
Id='R791d0621ac094c72 '是圖片的唯一主鍵。也就是說(shuō),與主鍵相關(guān)聯(lián)的主鍵。文件包含Id為“R791d0621ac094c72”的節(jié)點(diǎn)屬性。主鍵節(jié)點(diǎn)屬性如下:
a : blip xmlns : r=';r : embed=' r 791d 0621 AC 094 c 72 ' c state=' print '
這使您可以將我的物理路徑與主文件相關(guān)聯(lián)。
圖1-3
加載Word時(shí),圖片加載順序?yàn)椋篸ocument . XMLdocument . XML . relsmedia
首先加載document.xml中的段落屬性,加載連續(xù)文本,加載w:drawing標(biāo)簽,查找drawing的唯一id,從document.xml.rels加載Relationship屬性,然后查找word/。
代碼在word中插入圖片
如果知道Word的圖片結(jié)構(gòu),就可以根據(jù)word定義的規(guī)則插入圖片。示例代碼如下
string filename=@ ' hello word . docx ';
using(wordprocessingdocument wd=word(文件名,word))
{
varmain docx=wd . addmaindocumentpart();
var docx=new Documen();
MainDocx。Document=docx
var body=main docx . document . appendchild(new documen());
var imgPathList=new Liststring();
ImgPa(@ ' Te;);//更改為自己的本地照片路徑
ImgPa(@ ' Te;);//更改為自己的本地照片路徑
ImgPa(@ ' Te;);//更改為自己的本地照片路徑
foreach(var img filename in img path list)
{
image part image part=maindocx . addimagepar);
using(filestream stream=new filestream(img filename、filemode.open))
{
ImagePart。FeedData(流);
}
#region添加圖片
Var element=
New Drawing(
New Documen(
Newdocumen () {CX=3672000,cy=2134800},
New Documen()
{
LeftEdge=0L,
TopEdge=0L,
RightEdge=0L,
BottomEdge=0L
},
New Documen()
{
Id=(UInt32Value)1U、
Name='Picture1 ',
標(biāo)題=“投標(biāo)照片”
},
New Documen(
new documen(){ nochangeaspect=true })、
New Documen(
New DocumenData(
New Documen(
New Documen(
New Documen()
{
Id=(UInt32Value)0U,
Name='New Bitmap Image.jpg '
},
New Documen()、
New Documen(
New Documen(
New DocumenExtensionList(
New DocumenExtension()
{
Uri=
{ 28 a 0092 b-c 50 c-407 e-a 947-70 e 740481 c 1 c 1 c }’
})
)。
{
embed=maindocx . getidofpart(imagepart),
CompressionState=
DocumenCompressionValues。Print
},
New Documen(
New Documen())、
New Documen(
New Documen(
New Documen() {X=0L,Y=0L},
Newdocumen () {CX=3672000,cy=2134800})、
New Documen(
New Documen()
)。
{Preset=Documen})
)。
{ Uri=';})
)。
{
distancefromtop=(uint 32 value)0u,
distancefrombottom=(uint 32 value)0 u,
distancefromleft=(uint 32 value)0 u,
distancefromright=(uint 32 value)0 u,
EditId='50D07946 '
});
body . appendchild(new paragraph(new run(element)));
#endregion
}
MainDocx。document . Save();
Proce(文件名);
}
結(jié)果如圖1-4所示。
圖1-4
注:您可以直接運(yùn)行代碼。
1.《【怎么把照片插進(jìn)word里】如何插入Word系列圖片》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《【怎么把照片插進(jìn)word里】如何插入Word系列圖片》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/keji/2548715.html