C#:OpenXMLPowerTools2007预发行版从html生成的docx
我正在编写代码,通过使用OpenXMLPowerTools将Docx文件的内容转换为HTML,现在我想将其转换回另一个Docx文件。将内容获取为HTML的步骤工作正常,但当我从该HTML生成docx文件时,该文件无法打开并抛出此错误 此文件是在word 2007的预发布版本中创建的,无法删除 无法在此版本中打开 从测试docx生成的HTML是C#:OpenXMLPowerTools2007预发行版从html生成的docx,c#,ms-word,openxml,openxml-powertools,C#,Ms Word,Openxml,Openxml Powertools,我正在编写代码,通过使用OpenXMLPowerTools将Docx文件的内容转换为HTML,现在我想将其转换回另一个Docx文件。将内容获取为HTML的步骤工作正常,但当我从该HTML生成docx文件时,该文件无法打开并抛出此错误 此文件是在word 2007的预发布版本中创建的,无法删除 无法在此版本中打开 从测试docx生成的HTML是 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
charset="UTF-8" />
<title>My Page Title</title>
<meta
name="Generator"
content="PowerTools for Open XML" />
<style>span { white-space: pre-wrap; }
p.pt-Normal {
line-height: 107.9%;
margin-bottom: 8pt;
text-align: justify;
font-family: ;
font-size: 11pt;
margin-top: 0;
margin-left: 0;
margin-right: 0;
}
span.pt-DefaultParagraphFont {
font-family: ;
font-size: 11pt;
font-style: normal;
font-weight: normal;
margin: 0;
padding: 0;
}
span.pt-DefaultParagraphFont-000000 {
font-family: Calibri;
font-size: 11pt;
font-style: normal;
font-weight: normal;
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div>
<p
dir="rtl"
class="pt-Normal">‏<span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏با سلام خدمت ‏</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏<<‏</span><span
class="pt-DefaultParagraphFont-000000">‎PERSONS.lname‎</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏>>‏</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏ ‏</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏<<‏</span><span
class="pt-DefaultParagraphFont-000000">‎PERSONS.fname‎</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏>>‏</span></p>
<p
dir="rtl"
class="pt-Normal">‏<span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏مدیر محترم ‏</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏<<‏</span><span
class="pt-DefaultParagraphFont-000000">‎OFFICE.name‎</span><span
lang="fa-IR"
class="pt-DefaultParagraphFont">‏>>‏</span></p>
</div>
</body>
</html>
答案很简单。不能将HTML内容插入到
MainDocumentPart
中,因为它应该包含有效的Open XMLw:document
元素,例如以下简化元素:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:t>Hello, world!</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
你好,世界!
错误消息可能有点误导。在这种情况下,HTML完全无效
根据在从原始Word文档创建HTML(使用Open XML PowerTools)后是否更改了HTML,您必须将其转换回有效的Open XML标记(如果更改了它)或者简单地使用原始Word文档中的Open XML标记。您是否有进一步的疑问,或者下面的答案是否有助于解决您的问题?是的…我怎么不能直接获取docx的XML。。。现在,我按照以下步骤将文件从.docx格式重命名为zip格式,然后我可以在word文件夹中找到docx的xml文件。。。。。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:t>Hello, world!</w:t>
</w:r>
</w:p>
</w:body>
</w:document>