{"id":266,"date":"2011-03-02T16:46:51","date_gmt":"2011-03-02T16:46:51","guid":{"rendered":"http:\/\/www.ericwhite.com\/home2\/bm8qcmjy\/public_html\/blog\/?p=266"},"modified":"2011-03-15T04:26:56","modified_gmt":"2011-03-15T04:26:56","slug":"video-of-use-of-document-generation-example","status":"publish","type":"post","link":"https:\/\/www.ericwhite.com\/blog\/2011\/03\/02\/video-of-use-of-document-generation-example\/","title":{"rendered":"Video of use of Document Generation Example"},"content":{"rendered":"<p>I have completed a rough first version of this document generation system that is driven by C# code that you write in content controls in a Word document.\u00a0 As an intro, I\u2019ve recorded a small screen-cast that shows the doc gen system in action.<\/p>\n<p>This post is the tenth in a series of blog posts on generating Open XML documents. Here is the complete list: <a href=\"https:\/\/www.ericwhite.com\/blog\/map\/generating-open-xml-wordprocessingml-documents-blog-post-series\/\">Generating Open XML WordprocessingML Documents Blog Post Series<\/a><\/p>\n<div id=\"scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:71299ba5-6070-4ecc-848c-34e468f9aabc\" class=\"wlWriterEditableSmartContent\" style=\"margin: 0px; display: inline; float: none; padding: 0px;\">\n<div><object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"448\" height=\"252\" codebase=\"http:\/\/download.macromedia.com\/pub\/shockwave\/cabs\/flash\/swflash.cab#version=6,0,40,0\"><param name=\"src\" value=\"http:\/\/www.youtube.com\/v\/qVRT-nSlF_g?hl=en&amp;hd=1\" \/><embed type=\"application\/x-shockwave-flash\" width=\"448\" height=\"252\" src=\"http:\/\/www.youtube.com\/v\/qVRT-nSlF_g?hl=en&amp;hd=1\"><\/embed><\/object><\/div>\n<div style=\"width: 448px; clear: both; font-size: .8em;\">Demonstrates an approach to Open XML WordprocessingML document generation that uses C# code in content controls.<\/div>\n<\/div>\n<p>\nV1 of the code that enables this approach to document generation is less than 400 lines of code, so this counts as simply an example program.\u00a0 This shows the value of using functional programming, meta programming, and Open XML to reduce program size.<\/p>\n<p>I have to note at this point \u2013 the example program contains almost no error handling.\u00a0 If you mistype code in the content controls, you will encounter interesting compiler errors after loading the generated program.\u00a0 In the long run, I expect to resolve these issues in an interesting way.\u00a0 While at this point, I\u2019m just playing around with document generation ideas, in the future, I want to build a system that is easy and convenient for non-developers to use.<\/p>\n<p>I plan on posting this code sometime early next week, as well as a video that explains in more detail how the doc gen system works.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have completed a rough first version of this document generation system that is driven by C# code that you write in content controls in a Word document.\u00a0 As an intro, I\u2019ve recorded a small screen-cast that shows the doc gen system in action. This post is the tenth in a series of blog posts [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_s2mail":"","footnotes":""},"categories":[7,3,5],"tags":[],"class_list":["post-266","post","type-post","status-publish","format-standard","hentry","category-document-generation-series","category-open-xml","category-wordprocessingml"],"_links":{"self":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/posts\/266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/comments?post=266"}],"version-history":[{"count":8,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/posts\/266\/revisions"}],"predecessor-version":[{"id":272,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/posts\/266\/revisions\/272"}],"wp:attachment":[{"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/media?parent=266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/categories?post=266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ericwhite.com\/blog\/wp-json\/wp\/v2\/tags?post=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}