Eric White
Forum Replies Created
-
AuthorPosts
-
From your post, I understand that you write the page margins in the section props using the JavaScript API, and when you look at the file, it is as you generated it. But when you open and save the document using Word, it changes the values.
You are specifying 144 for the values of the header and footer (which are very small values). If I recall correctly, there are circumstances where based on the printer metrics, Word will adjust values if the values are outside of the printable area for the printer.
Can you check to see if this is the case?
Hi Prince,
Yes, you are right, this is not a current feature of PresentationBuilder. Some amount of work would need to be done in order to support this. Currently, this work is not on the schedule, though.
One possible way to approach this issue – use PresentationBuilder as necessary to assemble presentations that do not contain WebExtensionPart. Then use System.IO.Packaging to add the WebExtensionPart to your presentation. There are no restrictions for adding / deleting parts when using System.IO.Packaging directly.
-Eric
Hi Howard,
The necessary engineering / work that is required in order to be assured of the quality of the port to Linux/Mono has not been done. Until this work has been done, I would not make plans that rely on the quality of the port of the Open-Xml-Sdk to Linux.
-Eric
Hi Howard,
We had made a small amount of progress on compiling the Open-Xml-Sdk for Linux using Mono. Unfortunately, I got pulled from that project.
I don’t know what the new developer(s) who are going to maintain the Open-Xml-Sdk going forward will do. It requires a certain amount of engineering / work.
-Eric
I don’t know of any examples that give guidance / resources that show how to accomplish this.
With regards to writing C# code using the Open-Xml-Sdk, I personally prefer to generate the markup directly, and not use the strongly typed classes in the Open-Xml-Sdk object model. I prefer to use the LINQ to XML API.
My recommendation to you: I suggest writing the markup directly, and not using the strongly-typed OM. Since you have found examples of what is required when generating the XML directly, you are on the path to success.
Hi,
Anything that you can do manually in PowerPoint can be done using the Open-Xml-Sdk. You just have to write code to generate the appropriate markup. I don’t know the specific answer to your question, and would have to follow the procedure detailed in this screen-cast:
Screen-Cast: How to Research Open XML Markup
It is not hard to figure out the markup that you need to generate.
Cheers, Eric
June 27, 2016 at 1:43 pm in reply to: Excel Calculation Engine … does it or does it not exist in open xml sdk? #3532Hi Henry,
The Open-Xml-Sdk does not contain a calculation engine. Its purpose is only to read and write the file formats.
Typical uses with regards to Excel are:
- Generation of spreadsheets
- Querying spreadsheets and retrieving data
Modifying existing spreadsheets is a less common and useful scenario for the Open-Xml-Sdk.
If you need to have an actual calculation engine, you need to automate Excel. I believe that there are commercial products other than Excel that contain Excel compatible calculation engines, but I have no experience with them.
Regards, Eric
June 21, 2016 at 7:45 am in reply to: How to Select Drop Down List in word document us Open XML Word document in .net #3512Hi,
Sorry, I am not fully clear on your scenario. What exactly are you trying to do? Maybe you can state the problem in ‘business terms’ or ‘functionality’.
Best, Eric
June 21, 2016 at 7:43 am in reply to: How to access a FormControl checkbox in an Excel sheet using OpenXML SDK #3511Hi Paul,
Yes, this is a peculiarity of having ActiveX controls, (also images) on a worksheet. Technically, they are not in a cell – they are on the sheet. If you need to know what cell the ActiveX control is ‘in’, then you need to calculate it based on the position of the ActiveX control.
You will find the following screen-cast interesting:
Precisely Placing Images in an Open XML Spreadsheet
The key to your problem is to understand the metrics and positioning of cells, and to be able to find the location of the ActiveX control via its position.
Cheers, Eric
Hi Christian,
Binding to RTF text is not a feature of DocumentAssembler. It is a great idea, though, but DocumentAssembler was not designed for this scenario.
In general, the idea behind DocumentAssembler is that the actual formatting of the document should reside in the template document, and the XML file should contain only data.
Cheers, Eric
June 21, 2016 at 7:34 am in reply to: How to marge pptx files with each files corresponding master slides? #3509By all means, this is possible.
Sorry to ask, have you watched the screen-casts on PresentationBuilder?
Mainly you want to include the master slides for each source.
http://www.ericwhite.com/blog/blog/presentationbuilder-developer-center/
Let me know if you have further problems.
Hi,
It is certainly possible (even easy) to replace images in the header.
Have you watched the screen-casts on the Open Packaging Conventions? They are screen-casts 11 and 12 in the following series:
Screen-Cast Series: Introduction to Open XML
Also watch screen-cast #5 in this series:
Screen-Cast Series: Introduction to WordprocessingML
In general, you should also watch the other screen-casts in those series.
Cheers, Eric
Hi,
DocumentAssembler was not designed to take as input any arbitrary XML. There are many forms of XML that are not appropriate for it. Instead, for this version of DocumentAssembler, my recommended approach is that you reformulate your XML so that your data is in the form that is accessible by DocumentAssembler.
The key benefit of DocumentAssembler is not in its general purpose way of accessing XML, but is instead, in the way that you can take data from compatible XML and combine to formulate a valid, correctly formatted DOCX. Attempting to do more than this was beyond the scope of the project.
-Eric
Hi Amita,
I would guess that the issue is loading the images that are stored in the document – that the XML is not too big.
If I were to have time to take this on as a project, the first thing I would look at is attempting to never load images, until such time as it is necessary to save the file. Further, I would examine the code carefully to make sure that the references to the image data are freed immediately after loading from the original, and saving to the new file. It seems necessary to reduce the memory footprint that JsZip uses.
Thanks, Eric
Hi Amita,
I think that it may be possible to increate the amount of memory for the JavaScript VM in node. Have you tried this?
-Eric
-
AuthorPosts