首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    dotnet OpenXML 文本 Text Line Break 的作用

    本文主要和小伙伴聊 a:br 这个标记的作用 在 OpenXML 的 的定义是 Text Line Break 是放在文本的 的标记,用于表示换行 如 ECMA 376 文档的...21.1.2.2.1 所说,这个标记的作用是在一段内,将两个 TextRun 使用一个垂直的换行分割。...这个元素可以具备当前的 rPr (RunProperties) 属性,可以用来设置换行的文本格式,用于在后续插入文本的时候使用正确的格式 在 OpenXML SDK 使用 DocumentFormat.OpenXml.Drawing.Break...表示,可以使用下面代码拿到 using DocumentFormat.OpenXml.Drawing; public void Foo(Paragraph textParagraph) { foreach...而 的作用就是让文档可以在一个段落里面使用多行 更多请看 Office 使用 OpenXML SDK 解析文档博客目录 在 UWP 使用 XAML 的换行,请看 win10 uwp 在

    44610

    dotnet OpenXML 从文档生成创建文档的代码的库

    本文和大家介绍 Serialize.OpenXml.CodeGen 这个支持从某个文档生成用于创建出这个文档的 C# 或 VB 代码的库。...作用就是可以让小伙伴在拿到一份模版文件之后,可以通过 Serialize.OpenXml.CodeGen 生成能创建出这份文档的 C# 或 VB 的代码,用于在这份代码上面更改功能,做到创建定制 Docx...或 PPTX 或 Xlsx 文档的功能 这是一个完全开源的库,代码放在 https://github.com/rmboggs/Serialize.OpenXml.CodeGen 欢迎小伙伴访问 这个库的功能就是从...文件创建对应的 C# 代码,可以使用下面代码 假定在 C 盘有一个 Temp 文件夹,这个文件夹里面有一个 Sample1.xlsx 文件,在调用下面代码之后,将会创建了 Sample1.cs 文件...或 VB 代码 上面代码将创建 Sample1.cs 代码,这个代码可以通过 CreatePackage 方法向一个 Stream 里面写入 Sample1.xlsx 文档内容,而写入的方法是通过代码的形式

    77620

    dotnet OpenXML 幻灯片 PPTX 的 Slide Id 和页面序号的关系

    在使用 OpenXML SDK 进行 Office 文档的解析时,对幻灯片 PPTX 文档的页面解析也许会遇到页面顺序的问题,本文告诉大家在 Office 文档里面页面的序号和顺序之间的关系以及如何读取页面序号...在开始之前,我期望你是了解一些 PPT 解析的相关知识的,入门级博客请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在 C# dotnet 使用 OpenXml 解析 PPT 文件...这篇博客中没有详细告诉大家页面顺序的问题,但是按照 C# dotnet 使用 OpenXml 解析 PPT 文件 这篇博客的写法就是能拿到对的页面顺序 在 ECMA 376 标准中说明,在 Presentation.xml...:sldIdLst> 这里的 p:sldIdLst 将会存放在 PPT 画布里面多个页面之间的顺序,上面代码中页面的 Slide Id 是 id 这个属性,也就是当前的文档只有一个页面,这个页面的 Slide...} 上面代码的 slideId.RelationshipId 就是对应 r:id 属性。

    75910

    C# dotnet 使用 OpenXml 解析 PPT 元素的坐标和宽度高度

    在阅读本文之前,我期望你能了解基础的 PPT 解析内容,或看我的入门级博客。...本文将告诉大家如何从 PPT 里面解析出通用元素的 x 和 y 的值,以及元素的宽度和高度的值 在开始之前请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在拿到 slidePart.Slide.CommonSlideData.ShapeTree...找到 ShapeProperties 的值 var shapeProperties = element.GetFirstChild(); 上面代码的...等等,这里的 Drawing.Transform2D 是什么意思,我在命名空间里面添加这个代码 using Presentation = DocumentFormat.OpenXml.Presentation...PPT 里面,通用元素的 x 和 y 值单位是 Emu 上面的类是我自己定义的,有可以抄的代码,请看 C# dontet Office Open XML Unit Converter 我定义了和像素转换的代码

    1.7K10

    一个简单的统计图像主颜色的算法(C#源代码)

    前段日子有朋友咨询了下分析图像主颜色的算法,我对这一块也没有什么深入的研究,参考了一些小代码,然后自己写了一个很简单的小工具,现共享给大家。      ...界面截图如下:       算法的原理很简单,就是统计出图像中各种颜色的分布情况,然后取前N个颜色作为主成分。      ...的内存 return MC; } }      统计颜色这一块,其实我一直在寻找一种即不用占很大内存,速度又快的算法,但是一直没有想到好办法。...上面的代码中是分配了64MB的内存来索引计数的,虽然对于很小的图像也需要这么大的内存占用量,但是我经过对比发现,比用Dictionary之类的基于字典的统计方法还是要快很多的。      ...两个参考链接处也有一些比较好的算法的,不过里面的代码是PHP的,改写成C#的应该说还是有一定的难度的,有兴趣的朋友可以自己参考着学习下吧。

    1.5K50

    dotnet OpenXML 文本 ParagraphProperties 的属性作用

    本文收集 a:pPr 段落属性 ParagraphProperties 的属性的作用 本文的 OpneXMl SDK 的获取代码前提都有以下代码 public void Foo(Paragraph textParagraph...,注意 Tab 会被具体的字符影响,实际宽度不一定等于这个属性设置的值,因为会被具体的标尺影响,会和具体的排版相关 例如下面代码 在两个字符之间如果输入 Tab 键,那么这个 Tab 键将占用 360000EMU 单位空间,当然,后续在这两个字符中间输出不超过 360000EMU 单位空间 的字符,那么依然不会更改 Tab 后字符的距离...; 作用:是否允许西文在单词中间换行 ?...; 作用:是否允许东方字符在单词中间换行 请看 latinLnBrk 的作用,表现为允许标点在行首,如下面代码 <a:pPr fontAlgn="auto" defTabSz="3600000

    80830

    dotnet OpenXML 读取 PPT 内嵌 ole 格式 Excel 表格的信息

    在 Office 中,可以在 PPT 里面插入表格,插入表格有好多不同的方法,对应 OpenXML 文档存储的更多不同的方式。...这个格式存放方式是 ole 格式,在此 OLE 文件里面,将存放 OpenXML 格式的 xlsx 格式的表格文件,以下将详细告诉大家此格式 在 Slide.xml 页面里面,存放的是在 GraphicFrame...= null); 通过以上逻辑即可获取到对应的 OleObject 对象。本文上面的例子代码仅仅只是用于本文的测试文件,对于其他文件不确定是否存在表格的,还请自行判断空,而不是采用本文的断言方式。...Open MCDF 库提供了 CompoundFile 的构造函数可以传入 Stream 对象,但是因为在 OpenXML 的 Part 取出的 Stream 是不可随机访问的(为了解决 N 多的坑,在...Workbook.Sheets; 更多读取 Excel 的方法请看 C# dotnet WPF 使用 OpenXml 解析 Excel 文件 本文不再详细告诉大家如何读取此 Excel 内容 本文以上的测试文件和代码放在

    1.4K40

    微软官方出品微服务架构:10个.Net开源项目

    2、MKL.NET:为.NET开发者提供高性能数学计算支持的开源库 MKL.NET是英特尔MKL库的.NET版本,方便开发人员在.NET应用程序中使用MKL库的功能,而无需接触底层的C/C++代码。...4、基于C#开发的任天堂 Switch 开源模拟器 Ryujinx 是一个开源的任天堂 Switch 模拟器,可以在 PC 上模拟运行 Switch 游戏。...5、一个用于操作Excel文件的.NET开源库 ClosedXML是一个.NET第三方开源库,支持读取、操作和写入Excel 2007+ (.xlsx, .xlsm)文件,是基于OpenXML封装的,...让开发人员无需了解OpenXML API底层API,便于运用于项目开发。...8、一个监控C#方法运行耗时开源库 一个轻量级.Net库,用于对.NET应用程序中的方法执行时间进行测量和分析,可以轻松集成到现有的.NET应用程序中。

    1.4K10

    dotnet 使用 OpenXML SDK 解析 Office 的项目符号 buNone 含义

    在使用 OpenXML SDK 解析的时候,只需要开发 10 分钟就完成了整个 PPT 的解析了,剩下就是如何使用解析完成的数据。...入门的文档请看 C# dotnet 使用 OpenXml 解析 PPT 文件 在 Office 的段落里面可以使用 表示当前这一段不要显示项目符号,而这个属性的作用还需要小伙伴动手改一下...其实这里涉及一个命名问题,在 OpenXML SDK 里面给了一个很好理解的命名是 NoBullet 也就是不要项目符号。...这个规则在 Office 里面是这样做的,但是在 WPS 不是 在 OpenXML SDK 拿到 TextParagraphPropertiesType 段落属性,可以通过 GetFirstChild...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    77110

    dotnet OpenXML 文本 EndParagraphRunProperties 的作用

    只有在此段落的样式与段落本身不同时,才应设置此属性 文本的属性会受到页面以及模版和所在段落的影响,而 a:endParaRPr 是一个放在 里面的标记,用来表示这一段的结束,在 OpenXML...类就包含了 TextRun 的字符属性,如字体字号等信息,详细请看 dotnet OpenXML 简单聊聊 PPT 文本解析 因此可以在 添加一些文本属性 的内容就会继承 的属性 当然,在很多不规范的排版软件里面,可以使用 endParaRPr 表示段落结束的功能藏一些文本,如下面代码 <a:pPr fontAlgn...其实 只会显示 1 而不会显示后续内容 也就是读取了 a:endParaRPr 将会忽略后续的文本内容,表示这一段结束 在 UWP 使用 XAML 的换行,请看 win10 uwp 在 xaml 让 TextBlock...换行 这个属性和 Text Line Break 有些不同,原因是默认一段就是包含一个换行符,而 就是让一段内可以包含多个换行 我写了很多 Office 解析相关的博客,请看 Office

    51120

    C# dotnet 使用 OpenXml 关闭时不自动保存文档方法

    默认在使用 OpenXML SDK 读写 Office 文件,如 PPT 或 Word 或 Excel 文件时,在关闭时调用 Dispose 将会自动将更改部分写入到文件。...Text = "逗比"; 根据 C# 最新的语法,在使用了 using var 将会在方法结束的时候,自动调用 Dispose 方法,和 using () 的写法差不多。...但是在调用 Dispose 方法时,将会发现,以上的更改自动保存到 Test.docx 文件里面 如果期望不自动保存,可以在 OpenSettings 设置不自动保存,如以下代码...,将会在结束时自动释放文件占用,而不将更改保存到文件 以上方法对于通用的 OpenXML 格式文件,如 docx 和 pptx 和 xlsx 等文件都可以设置在关闭时不自动保存 本文所有代码放在 github...和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote

    51930

    dotnet OpenXML 文本删除线解析方法

    本文来告诉大家如何解析读取在 OpenXML 里面存放的文本删除线,本文使用 PowerPoint 作为例子来告诉大家如何读取然后在 WPF 应用里面显示 在开始之前,期望大家已了解如何在 dotnet...应用里面读取 PPT 文件,如果还不了解读取方法,请参阅 C# dotnet 使用 OpenXml 解析 PPT 文件 期望在阅读本文之前,先阅读 dotnet OpenXML 简单聊聊 PPT 文本解析...以下是本文效果 在 OpenXML 文档,将文本的删除线放在了文本的 Run 属性里面,大概内容如下 的样式也是特别多的 如删除线的 TextStrikeValues 的枚举,在 ECMA 376 的第 20.1.10.78 章可以了解到有单线条的删除线和双线条的删除线,在 OpenXML...Canvas 是放在 XAML 的控件,本文所有代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码

    90110

    dotnet OpenXML 读取形状轮廓线条样式序号超过主题样式列表数

    在 OpenXML 中,默认的形状可以通过指定 LineReference 让形状使用文档主题里面的样式。...文档主题里面包含多个样式,在形状里面指定样式通过的是序号的方法,如果在形状里面指定的序号超过了主题的数量,那么将会使用最后一项样式 开始之前,我准备了这份课件,我将课件和代码都放在 GitHub 上可以在本文最后找到链接...dotnet 使用 OpenXml 解析 PPT 文件 博客的方法打开这份课件,可以使用如下代码读取到使用的 LineReference 样式 using (var presentationDocument...咱的集合默认使用 0 开始 接下来是获取文档的主题,在 Office 的优先级是 Slide 然后是 SlideLayout 最后才是 SlideMaster 的主题 /...Outline 就是形状线条在主题样式的值 本文所有代码放在 github 和 gitee 欢迎小伙伴访问 更多请看 Office 使用 OpenXML SDK 解析文档博客目录

    51620

    dotnet OpenXML 获取 Excel 表格当前激活选择的工作表

    本文告诉大家如何读取 Excel 里面的信息拿到当前激活选择的工作表 在开始之前,期望大家了解如何使用 OpenXML 读取 Excel 文件,如果对此还不了解,请看 C# dotnet WPF 使用...OpenXml 解析 Excel 文件 在 OpenXML 里面,可以通过 ActiveTab 属性拿到当前激活的工作表的序号。...TabSelected}"); 如果一个 Excel 表格的激活是在第二个工作表,但是选择的是第一个工作表,那么表现如下 本文以上的测试文件和代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码...,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com...获取代码之后,进入 Xlsx 文件夹 更多请看 Office 使用 OpenXML SDK 解析文档博客目录 ----

    1K10

    C#11中的新语法

    C# 11 带来了许多新的语法特性和改进,以下是一些主要的新特性原始字符串文字:C# 11 引入了原始字符串文字,它允许你使用 """ 而不是 " 来定义字符串,这使得在字符串中包含引号、换行符和其他特殊字符时更为方便...2.文件范围的命名空间:在 C# 11 中,你可以使用 namespace 关键字在文件的顶部声明整个文件的命名空间,而不需要在每个类或结构体的顶部重复它。...namespace MyNamespace; class MyClass { // ... }3.必需成员:C# 11 引入了required关键字,用于指示接口或抽象类的成员在派生类或实现接口时必须是显式实现的...:C# 11 对异步流(async IAsyncEnumerable)进行了改进,现在你可以更简洁地编写异步流代码。...:C# 11 增强了协变返回类型的功能,允许在重写方法或实现接口时返回更具体的类型。

    18620

    C# dotnet 使用 OpenXml 解析 PPT 里面的视频

    本文告诉大家如何从 PPTX 文件里面解析出视频 我期望看到本文的小伙伴是了解 OpenXML 的,如果想要解析 Office 的文档,我推荐使用使用 OpenXML SDK 这个开源的库,更多入门级博客请看...C# dotnet 使用 OpenXml 解析 PPT 文件 我做了一个简单的 PPT 文件,这个文件里面只有一页,这一页上面有一个视频。...} 上面代码是打开解析文件,我拿到第一页,而获取页面的元素需要了解一点是 PPT 将所有元素存放 ShapeTree 而视频是不存在元素的,在 PPT 里面用 Picture...r:link 拿到对应的资源,在 PPT 里面,用 GetPartById 获取 ChildrenRelationshipParts 的资源,用 GetReferenceRelationship 拿到...ReferenceRelationshipList 的资源 在 PPT 里面的视频放在 ReferenceRelationshipList 使用下面代码拿到 var openXmlPart

    67820

    dotnet OpenXML WPF 解析实现 PPT 文本描边效果

    如对 PPT 解析了解很少,请参阅 C# dotnet 使用 OpenXml 解析 PPT 文件 在 PPT 里面可以给文本的某些文字设置描边效果,描边效果从 OpenXML 层上是不属于特效的,只是属于边框属性...在实际项目中,还请大家自行进行参数判断逻辑 此测试文档在第一页只有一个元素,就是本文的加文本描边的元素,获取的代码如下 var shape = slide.CommonSlideData...; 对应的 OpenXML 代码如下 在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com/lindexi/lindexi_gd.git git...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。

    98920

    dotnet OpenXml SDK 形状填充渐变色的主题色

    在 Office 文档的一些有趣的设计,颜色和画刷是可以继承的,这个继承包括了属性的继承。...在形状填充里面使用的渐变色是可以一部分属性放在主题里面,主要找到主题里面的画刷,替换掉形状自己定义的内容,才是形状的画刷 我拿到一份有趣的课件,从这份课件的表现上,可以找到在一个 Shape 元素里面的... 而这个样式要的属性是 idx 属性,表示属于主题的哪个样式 那么在 OpenXML SDK 里面如何获取主题,如果是在 Slide 页面的元素可以通过下面的代码获取主题...但是 FillStyleList 的数组是 C# 的数组,下标是从 0 开始 // FillReference reference, FormatScheme formatScheme if (...在 OpenXML SDK 里面没有给填充颜色一个基类,这部分的设计不是很好 在 PPT 文档里面对应的是 ppt\theme\themex.xml 文件里面的 a:fillStyleLst 的值 <a

    47010
    领券