问题标签 [drawingml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1421 浏览

docx - DrawingML 中的剪辑

我正在创建带有嵌入矢量图形的 Word DOCX 文件。显然,DrawingML 现在是插入矢量图形的首选方式。我无法确定如何在绘图画布中剪辑图表。它似乎不断在组形状中缩放我的形状。

在 DrawingML 中是否可以进行剪辑,如果可以,是否有人有一小段代码或 XML 可以为我指明正确的方向?

0 投票
1 回答
570 浏览

excel - Office Open XML satMod 导致超过 100% 的饱和度

我正在尝试计算类似以下内容的 satMod(饱和调制):

EMCA-376 规范的第 20.1.2.3.27 节提到 <satMod> 元素:“该元素指定输入颜色,其饱和度由给定百分比调制。50% 饱和度调制将饱和度降低一半。200%饱和度调制使饱和度加倍。”

我遇到的问题是许多颜色已经足够饱和,以至于将饱和度增加 300%(其中的 300000 对应于 300%)使其超出 0-100% 范围。我只是简单地将饱和度限制在 100%,但我的结果与 Excel 所做的完全不同。

在饱和度应该溢出的情况下,这里似乎发生了一些特殊的魔法。任何人都知道 Office/Excel 在这种情况下会做什么?

我在这里发现了基本相同的问题:http: //social.msdn.microsoft.com/Forums/en-US/oxmlsdk/thread/040e0a1f-dbfe-4ce5-826b-38b4b6f6d3f7

答案表明,在修改饱和度之前,应先将 srgb 颜色转换为线性 rgb,然后再转换为 hsl。对我来说这还没有解决问题。

0 投票
2 回答
1807 浏览

c# - Powerpoint OpenXML 空白正在消失

我遇到了一个问题,即当我引用幻灯片时,PowerPoint 文档中的空格就会被删除。以下代码示例说明了我的意思-

要重现此问题,请使用一张幻灯片创建一个演示文稿,其中包含一个文本框,其中包含文本“[ ]”(无引号)。现在,将方括号之间空格的字体设置为与文本其余部分不同的颜色。这将导致 Run 仅包含空白字符。一旦上面的代码针对这个演示文稿运行,引用幻灯片的行将导致运行中的空白消失,最终给我们留下一个比我们最初开始时视觉上改变的演示文稿,即使我们从未明确地改变任何东西——在 powerpoint 应用程序中打开时,文本现在将是“[]”。

在 Word 中,可以在文本元素上将 xml:space 属性设置为“保留”以保留空格,但 Powerpoint 似乎没有等效属性。

在空白被用作幻灯片设计的关键组成部分的情况下,这是一个关键问题。有没有人想出解决这个问题的方法?

0 投票
0 回答
402 浏览

.net - 通过 OpenXML 将图像插入 .xlsx 文件时缺少架构

我会尽量保持简短,因为有很多背景故事!

我可以使用此示例中的代码使用 AbsoluteAnchor 将图像插入到电子表格中 0,0 EMU 的绝对位置。

当我尝试使用 TwoCellAnchor 执行相同操作时,绘图出现损坏,因此 Excel 提供通过完全删除图像来清理它。

当我将我的“怪物”与从 Excel 本身创建的有效 TwoCellAnchor 进行比较时,唯一的区别是第二行声明。

我的显示为:

而 Excel 创建的显示为:

请注意附加架构“xmlns:a”。据我所知,在编程时没有手动设置任何模式,我不知道如何解决这个问题。如果我手动更改 XML 以添加此模式,那么它可以正常工作,但显然这违背了编写自动化过程的目的。

有人能指出我解决这个问题的方向吗?网上关于这方面的有用文档的数量是非常有限的!谢谢。

0 投票
0 回答
643 浏览

c# - 如何使用 C# 可视化 GML

我想创建可以从 GML 格式可视化几何图形的程序。请问有人知道.NET 中是否有一些功能,或者您知道一些免费的 C# GIS / GeoSpatila 工具包(类似于 Java 的 GeoTools)

非常感谢!

0 投票
1 回答
2639 浏览

openxml - 如何使用 Excel 图表更新 PowerPoint 幻灯片

我有一个带有图表(条形图)的 Excel 文件。我还有一个带有 3 张幻灯片的 Powerpoint 演示文稿。请注意,在 Excel 表格或 Powerpoint 幻灯片上都没有图表“标题”。我需要使用 excel 文件中的图表更新幻灯片 #2 中的图表。

请注意,我已经搜索了这个论坛,我发现了创建新幻灯片以及使用标题更新图表的方法。

任何帮助将不胜感激。谢谢你的时间

编辑:您的解决方案很好,但对如何替换特定幻灯片中的图表没有帮助。在我的问题中,我已经说过有 3 张幻灯片。我想专门更新幻灯片 2 中的图表。没有图表标题,所以我需要根据幻灯片编号找到要替换的图表。这是怎么做的?再次感谢。

0 投票
1 回答
3570 浏览

ms-word - 防止 Word 2010 保存 o:gfxdata base64 或 uuencoded VML?

我正在使用 .docx 文件,其中包含多个插入图像的绘图画布以及在 Word 2010 中绘制的一些线条和箭头。我使用的是 2010 格式,没有兼容模式。

Wordo:gfxdata在每个元素中插入一个属性v:shapev:group并用 ascii 编码的东西填充它。从我读过的内容来看,它可能是描述v:shapeor的 VML 的副本v:group。我不知道我是否只是不知道要查找什么,但我无法确定这些数据的用途,因为删除它对我在 Word 2003、2007 或 2010 中阅读或编辑文档的能力没有明显影响.

它确实将 document.xml 膨胀到几乎是(明显)必要大小的两倍。这大大减慢了 OpenTBS 的处理速度,所以如果可能的话,我想删除它。有谁知道告诉 Word 2010 停止保存这些额外数据的方法?或者它是干什么用的?除了这篇文章之外,我真的很难找到任何关于它的文档。

编辑:

这是一个示例 .docx。document.xml 约为 141KB,OpenTBS 平均需要 10.35 秒来创建一个将其作为子模板包含 21 次的文件。如果我删除所有 o:ogfxdata 属性,文件大小会减少到 ~37KB,OpenTBS 只需 2.99 秒即可生成相同的文件。

编辑2:

经过进一步调查,似乎删除 o:gfxdata 可能会导致安装了旧兼容包的 Word 2003 反对该文件并出现以下错误:

“这是兼容包的预发布版本,只能打开预发布的 Office 2007 文件。您要检查兼容包的更新版本吗?”

我已经能够通过安装更新​​的兼容性包来打开文件——尽管它会提示用户不兼容并转换文件以打开它。这不会损坏我的文件,但需要注意。

0 投票
1 回答
1585 浏览

vba - DrawingML 颜色中的 lumMod/lumOff 和 tint/shade 有什么区别?

<a:lumMod>在 DrawingML 中使用and标签设置阴影或色调(例如,分别暗 25%,亮 40%)与使用and<a:lumOff>标签执行似乎产生类似结果的操作之间有什么区别?<a:shade><a:tint>

在 PowerPoint 中,从调色板选择器中选择“Accent 1, 40% Lighter”颜色会生成如下所示的 XML:

像这样使用 API 方法 Brightness 会生成相同的 XML:

像这样使用 API 方法 TintAndShade:

产生这个 XML:

并产生稍浅的颜色。

我应该如何理解正在发生的事情?为什么有两种方法如此相似,为什么它们的行为不同?

0 投票
1 回答
577 浏览

canvas - DrawingML 将绘图插入/粘贴到 Word 文档中

我是 DrawingML 的完整初学者。我试图弄清楚是否可以使用该语言定义形状,将其保存为某种格式并将其直接导入 Word 文档内的绘图画布中。

这背后的动机是使用户能够将在线生成的图形保存为文件并将其导入 Word 文档内的画布中。应该连接图形节点,以便在拖动节点时它也会对连接器进行模式化。我的理解是可以使用 DrawingML 创建此类绘图,但不确定如何将此类绘图导入文档。

0 投票
1 回答
743 浏览

openxml - MS Word、DOCX、Open XML - 通过更改 XML 应用主题

需要通过操作 XML 将主题从一个 word 文档 (DOCX) 应用到另一个。

我正在经历的道路是 -
word/themes 文件夹至少包含一个 theme#.xml 并且可以让 rels 文件夹包含关系文件。我决定不触摸 rels 文件夹并复制 word/theme 文件夹中存在的所有 theme#.xmls(可能不止一个)。这对我有用。

我对此有两个担忧:
1. 我是否还需要添加 word\theme_rels 中存在的 theme1.xml.rels 文件?它包含映射到 word\media 文件夹中的一个图像。我还需要添加图像映射吗?
2. 对于“Quotable”等少数主题,theme1.xml 在“a:fmtScheme”节点中包含一个对关系 id 的引用,可能用于 DrawingML 和形状。

例如:

由于此处的“rId1”指的是styles.xml并在word_rels\document.xml.rels中维护,我担心的是word_rels\document.xml.rels映射到styles.xml不能是主题正在获取的文档中的rId1应用(例如这可能是styles.xml 的rId5)。那么,在复制时是否需要在 theme1.xml 中更改它才能正常工作。

任何帮助将不胜感激。