我使用此处找到的WordprocessingDocument方法(Open XML)http://msdn.microsoft.com/en-us/library/bb497430.aspx将图像添加到DOCX文件。
我可以添加图片,但尺寸不正确。
MainDocumentPart mainPart = doc.MainDocumentPart;
ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);
using (System.IO.FileStream stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
imagePart.FeedData(stream);
}
return AddImageToBody(doc, mainPart.GetIdOfPart(imagePart), fileName);
private static Drawing AddImageToBody(WordprocessingDocument wordDoc, string relationshipId, string filename)
{
long imageWidthEMU = 1900000;
long imageHeightEMU = 350000;
double imageWidthInInches = imageWidthEMU / 914400.0;
double imageHeightInInches = imageHeightEMU / 914400.0;
new DW.Extent();
//Define the reference of the image.
var element =
new Drawing(
new DW.Inline(
new DW.Extent() { Cx = imageWidthEMU, Cy = imageHeightEMU },
如您所见,您可以手动指定尺寸(长度+宽度)。我无法动态地获取它们。如何才能获得正确的图像大小以传递给此代码?
感谢。
答案 0 :(得分:1)
你的问题在这里解决了: Inserting Image into DocX using OpenXML and setting the size
没有办法通过xml文件中的指令解决它。 OOXML仅提供<a:fill>
和<a:tile>
选项。