繁体   English   中英

OpenXML:在第一页标题上添加图像(而不在下一个标题上添加图像!)

OpenXML: Add image on the first page header (without adding image on next headers!)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

自从很多天以来我一直在努力解决这个问题,但是我无法弄清楚。 我希望你能帮助我。

如您所见,我正在尝试添加图像宽度始终大于图像高度的图像(所有图像均为“ * .png”)。 我的目标是按比例在页面左上角添加此图像,因此,如果图像太大,则代码会将其调整为适当的大小。

但是我的问题是,我无法弄清楚如何在标题中添加图像。 图像大小调整对我来说将是另一个问题。

如果可能的话,我可以在当前标题中添加新图像吗? 如果没有,那么对我来说,添加一个完整的新页面标题是可以的。

我在用什么

在Visual Studio中,我使用的是DocumentFormat如下所示:

using DocumentFormat.OpenXml;

我也有一些模板(* .dotx),实际上是从那里获得这些模板的,在这些模板上,我想添加这些图像来创建我的文档。

我尝试了什么?

我已经在这里看过这篇文章:

使用OpenXML将图片插入Word文档的标题

...实际上是我的代码或多或少基于的。

private static void addHeaderToDocument(WordprocessingDocument wordDocument, MainDocumentPart mainDocumentPart, string relativeLogoFile)
{
    var newHeaderPart = mainDocumentPart.AddNewPart<HeaderPart>();

    var imagePart = headerPart.AddImagePart(ImagePartType.Png, "rId999");
    var imagePartID = headerPart.GetIdOfPart(imagePart);

    GetImageFromFile(imagePart, relativeLogoFile);

    var rId = mainDocumentPart.GetIdOfPart(headerPart);
    var headerRef = new HeaderReference { Id = rId };
    var sectionProps = wordDocument.MainDocumentPart.Document.Body.Elements<SectionProperties>().LastOrDefault();
    if (sectionProps == null)
    {
        sectionProps = new SectionProperties();
        wordDocument.MainDocumentPart.Document.Body.Append(sectionProps);
    }

    sectionProps.RemoveAllChildren<HeaderReference>();
    sectionProps.Append(headerRef);
    headerPart.Header = GeneratePicHeader(imagePartID);
    headerPart.Header.Save();
}


private static ImagePart GetImageFromFile(ImagePart imagePart, string relativeLogoFile)
{
    using (FileStream stream = new FileStream(HttpContext.Current.Server.MapPath("~/" + relativeLogoFile), FileMode.Open))
    {
        imagePart.FeedData(stream);
    }

    return imagePart;
}

运行此代码时究竟发生了什么?

实际上,运行此代码确实会将图像添加到页眉中,而不是将其添加到第一页中,而是将图像添加到第二页中,这确实使我感到困惑!

您对这里有什么想法和建议吗? 难道我做错了什么? 还是我的.dotx文件出现错误?

最好的方法是什么? 我是否应该先删除标题,然后在标题中添加图像(在右上角,我已经有一个图像位于* .dotx文件中)?

希望您能帮我解决这个问题。

问题暂未有回复.您可以查看右边的相关问题.
2 添加没有页眉和页脚 OpenXML 的新页面

我正在使用以下代码在现有文档中添加一个新页面。它正在工作,但新创建的页面复制了旧页面的属性(页眉和页脚)。我想添加/追加一个没有页眉和页脚的新页面到现有文件。 请建议这里有什么问题。有没有办法获取最后一页并删除页眉和页脚 下面的代码给出了这个xml ...

3 替换标题中的图像,OpenXML

我希望有人可以协助解决这个问题。 我正在使用 OpenXMl 来搜索和替换使用 Open XML 的 Word 文档的页眉、正文和页脚中的文本。 文本工作正常。 但是图像并没有像我期望的那样被替换。 图像 (@"C:\\temp\\pic\\Logo.gif") 确实存在于源中。 但永远不会正确显示 ...

4 替换OpenXml电子表格标题中的图像

我的要求是 使用OpenXml(相对于Interop) 即使新图像的尺寸不同,也可以在Excel标头中替换图像而不会歪曲新图像。 我可以对图像高度进行硬编码。 使用具有LegacyDrawingHeaderFooter元素和VML绘图的转换后的.xlsx文件来完成上述操作。 创建新的VM ...

5 仅在首页标题上显示图像

我对Word vba相当陌生,在一周中获得了这段代码的帮助。 该代码将图像插入到标题中,我现在唯一的挑战是我只希望该图像位于第一页上,但是当我运行sub active时(应该执行此操作),原始页面上没有任何内容。 我正在通过访问数据库运行代码,除此之外一切正常。 ...

6 使用openXML向Excel添加图像

我一直在尝试使用openXML将图像添加到工作表中的单元格中。 我在搜索时发现的大多数解决方案都使用PolymathProgrammer网站上的代码或与之相似的代码: http://polymathprogrammer.com/2009/11/30/how-to-insert-an-im ...

7 在UITableView中的标题标题旁边添加图像

我已经使用组样式创建了一个UITableView。 我的桌子上只有一个小组。 这是我的两个问题: 1)如何在顶部标题的标题旁边显示图片? 基本上,我想将我们公司的徽标放在该标题旁边。 2)我可以更改标题中的背景颜色(我不喜欢灰色颜色),并且可以调整标题的高度吗? ...

8 动态添加图像到powerpoint openxml

我正在使用openxml创建power point 2007文件。 我可以添加幻灯片,形状,文本并操纵它们来创建自定义报告。 但是,我找不到如何将图像动态加载到我的电源点的示例。 原则上我想象它会涉及将图像添加为资源,然后添加对该资源的引用。 任何示例代码都会有很大的帮助。 谢谢。 ...

9 标题旁边的图像而不会破坏生成的CSS

我想在标题旁边放一张图片。 我目前的减价是 因此,我开始通过创建以下Vue组件来扩展这些联系人标题: ContactItem.vue 现在,我可以在markdown文件中开始使用此组件,例如 如果您想看看它的外观,我还创建了一个演示: https://jsf ...

10 如何在没有标题的情况下向bmp图像添加标题?

我正在使用一种产品,我可以向其发送BMP文件,但它仅接受不带标题的BMP,因此我删除了标题。 但是,该产品可以向我发送其BMP文件,并且我想在网页上显示它们,因此我需要重新创建标头才能使其正常工作。 一个解决方案可能是将标头存储在我的文件系统或数据库中,但是我想知道是否有解决方案,请重新 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM