AutoTag Output Formats
11 min
the following are tips, limitations, and unsupported formats for output formats when generating documents absolute position items with a vertical absolute position related to the top of the page or margin are problematic as because autotag must guess how to place them based on the report generated prior to the item the most commonly absolutely positioned items are text boxes, but this also happens with images and tables absolute vertical position based on the paragraph or line is fine absolute horizontal position is fine embedded objects only supported in docx & xlsx templates (starting with version 11 0 7) xlsx is only supported for excel 2010 and later (excel 2007 stores the metafile in a very convoluted way) smart art & shapes supported for docx > docx and xlsx > xlsx only smart art is not supported in imported templates, only in the main template docx each diagram (complex smart art) will be placed once in the generated report if it is inside a foreach loop, it will not be written in any iteration after the first xlsx in excel these are written over the worksheet, not as part of a cell on output they will be placed in the exact same position in the generated worksheet position will not be adjusted due to foreach, if (and so on) tags support for smart art & shapes added in version 11 0 7 forms forms (example a field in word) are not supported import tag when importing a template all header information is ignored, including default language, font, style, page size, margins, headers and footers (section breaks and their settings are imported, though ) styles map over by name if identical style names occur, there is no check to see if the settings are identical; the parent document's (the template's) styles prevail if the imported document has a new style, that new style is added word all list entries in the imported document become new list entries in the parent document; identical list entries are not mapped together objects (ole & activex objects) autotag uses the default image if it is provided and treats the object as a bitmap track changes not supported additional limitations to specific output formats word docx & xml (wordml) footnotes are not supported autoshapes are not supported tables of figures are not supported (tables of contents are, however ) custom styles in table of contents fields we support some fields, primarily numbering, dates, indexes, and table of contents xlsx does not support pivot tables opening an xlsx file in excel 2000/2002/2003 – you must click no on “calculation is incomplete” – this is a bug in excel cell content longer than 512 characters cannot be in a macro and so we display the full tag – this is an excel limitation does not support page break settings in output to other formats does not support references to cells in other worksheets tips for making output identical to your template blueprint tries to make the output report pixel for pixel identical with the created template however, it will never be perfect some (not all) of the reasons for this difference are office itself will format slightly differently based on the graphics and printer drivers on a system office lays out documents slightly differently from what their spec says it should do as these differences are not documented and microsoft itself generally does not know exactly how word/excel is calculating the placement of text most measurement comes from the text metrics provided by the true type fonts on a system different fonts provide different numbers for the same font the same font file provides different numbers on different operating systems (no idea how this works) if these differ, the output will differ the layout (soft line break, soft page breaks, and so on) is performed using the font metrics of the fonts installed on the system generating the report if a font specified in the template does not exist on the server, then the system has to substitute in a font that is installed this substituted font will generally has different font metric values and that will change the layout in almost all cases you can easily work with these constraints if you follow these guidelines when you need a page break, put in a hard page break do not depend on the page layout to put a soft page break the same for line breaks, column breaks, and so on avoid absolutely positioned objects whenever possible positioning relative to the paragraph, column, (margin for x position) are all fine positioning relative to the page or margin on the y axis is strongly discouraged use paragraph "keep with/together" and table "row header" settings appropriately what is 3 rows or 3 paragraphs in the template can be 150 in the report and where you can have those 3 rows/paragraphs all fit on one, page, 150 will not set column widths in tables using set values (inches, centimeters, points) or percentages if you use autofit it will not match because microsoft is not sure how word does that (and excel column widths will always be a little off because of how excel calculates them ) use truetype and opentype fonts if you use other types of fonts, there are limits with what can be done with them and they are closely tied to their code page minimize the use of nested tables if you want a border around a page, do not create a table for the entire page containing the page contents use the page border nested tables are very useful and well supported, so this is a matter of appropriate use, not trying to avoid them but when you have two approaches and one does not use an additional nested table, use that approach leave a little room on each page if you cram everything you can onto a page and it barely holds it all before the hard page break, you will sooner or later run on a system where the fonts are a little larger and your 1 page is now 2 pages the best way to approach your template is that it is a document, not a painting with a painting you say i want this item right here on the page with a document it is a flowing stream of paragraphs, images, tables, one after the other each has properties that say how it follows the preceding item and how the next should follow it