rmboggs / docxtosource Goto Github PK
View Code? Open in Web Editor NEWA multi-platform application that is able to generate dotnet source code based on OpenXml based documents.
License: MIT License
A multi-platform application that is able to generate dotnet source code based on OpenXml based documents.
License: MIT License
Hello, not sure if this is still being actively worked on - but I am unable to build the main branch. Here's the steps I took:
git submodule update --init --recursive
to update the submodule, seemed to pull the right commit.Text pasted below for easier reading:
0>------- Started building project: DocxToSource
0>DocxToSource.csproj: Error NU1605 : Warning As Error: Detected package downgrade: DocumentFormat.OpenXml from 3.0.1 to 2.14.0. Reference the package directly from the project to select a different version.
DocxToSource -> Serialize.OpenXml.CodeGen -> DocumentFormat.OpenXml (>= 3.0.1)
DocxToSource -> DocumentFormat.OpenXml (>= 2.14.0)
0>DocxToSource.csproj: Error NU1605 : Warning As Error: Detected package downgrade: System.CodeDom from 8.0.0 to 5.0.0. Reference the package directly from the project to select a different version.
DocxToSource -> Serialize.OpenXml.CodeGen -> System.CodeDom (>= 8.0.0)
DocxToSource -> System.CodeDom (>= 5.0.0)
0>------- Finished building project: DocxToSource. Succeeded: False. Errors: 2. Warnings: 0
Just noticed this issue while working with application. If I manually resize the code windows (make source code window taller, for example) and select a different OpenXmlPart object in the navigation tree, the Xml window remains visible even though it should automatically hide. I need to research this further to see what exactly is going on.
If a document is opened by DocxToSource and then opened in Microsoft Office, it opens as read-only but opens without issues. However, if the document is already open in MS Office and then opened in DocxToSource, DocxToSource will crash. So either the program needs to be updated so it can open a document as read-only or it needs to simply capture the exception and explain to the user to close the document in MS Office before proceeding.
Powerpoint slide with shapes
Transform2D of shapes is generated when viewed from shapetree node (parent) but Transform2D values is not not shown when viewed from shapes node (child of shapetree).
Transform2D contains the Offset and Extents.
Using generated code for Table in Powerpoint, the generated powerpoint will encounter "Powerpoint found a problem with content. Powerpoint can attempt to repair the presentation"
Root cause: code for ExtensionList in Table->TableGrid->GridColumn is incorrect
Generated by DocxToSource
A.Extension aExtension = new A.Extension();
aExtension.Uri = "{9D8B030D-6E8A-4147-A177-3AD203B41FA5}";
OpenXmlUnknownElement openXmlUnknownElement = new OpenXmlUnknownElement("a16", "colId", "http://schemas.microsoft.com/office/drawing/2014/main");
openXmlUnknownElement.AddNamespaceDeclaration("a16", "http://schemas.microsoft.com/office/drawing/2014/main");
aExtension.Append(openXmlUnknownElement);
aExtensionList.Append(aExtension);
A.Extension aExtension1 = new A.Extension();
aExtension1.Uri = "{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}";
OpenXmlUnknownElement openXmlUnknownElement1 = new OpenXmlUnknownElement("a16", "rowId", "http://schemas.microsoft.com/office/drawing/2014/main");
openXmlUnknownElement1.AddNamespaceDeclaration("a16", "http://schemas.microsoft.com/office/drawing/2014/main");
openXmlUnknownElement1.AddNamespaceDeclaration("p14", "http://schemas.microsoft.com/office/powerpoint/2010/main");
aExtension1.Append(openXmlUnknownElement1);
But when using code generated by SDK Productivity Tool, the generated powerpoint opens correctly.
Generated by SDK Productivity Tool
Extension extension1 = new Extension(){ Uri = "{9D8B030D-6E8A-4147-A177-3AD203B41FA5}" };
OpenXmlUnknownElement openXmlUnknownElement1 = OpenXmlUnknownElement.CreateOpenXmlUnknownElement("<a16:colId xmlns:a16=\"http://schemas.microsoft.com/office/drawing/2014/main\" val=\"20005\" />");
extension1.Append(openXmlUnknownElement1);
Extension extension2 = new Extension(){ Uri = "{0D108BD9-81ED-4DB2-BD59-A6C34878D82A}" };
OpenXmlUnknownElement openXmlUnknownElement2 = OpenXmlUnknownElement.CreateOpenXmlUnknownElement("<a16:rowId xmlns:a16=\"http://schemas.microsoft.com/office/drawing/2014/main\" xmlns:p14=\"http://schemas.microsoft.com/office/powerpoint/2010/main\" />");
extension2.Append(openXmlUnknownElement2);
Hello! Consider change url submodule from ssh to https
https://github.com/rmboggs/DocxToSource/blob/master/.gitmodules#L3
it is not convenient for new users
Workaround:
in root directory
git config submodule."src/Serialize.OpenXml.CodeGen".url https://github.com/rmboggs/Serialize.OpenXml.CodeGen.git
So in its current state, this project only runs on Windows. However, I think this project would greatly benefit from running cross-platform, especially since dotnet now runs on non-Windows platforms these days. The main project here currently is a WPF project, which, to my knowledge, is still limited to only Windows, so in order to make this project cross-platform is to decide what front end to switch to in order to make cross-platform a reality. I currently know of 3 options that can could achieve this goal:
I'm still up in the air as to which option to use so it would be interesting to get feedback from those who are interested.
Add functionality to compare 2 files by having a side by side window option.
hi,
code gen project doesnt seem to build with system.codedom (5) and Document.openxml version 2.11.3
is anything missing.
thanks,
Kumar
If I create an MS Word file (MS Word 2016) with another MS Word file embedded in it,
and try to open it in the application, the application crashes without reporting an error
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.