/// <summary> /// Print Schema Reference Guide v1.0 Appendix E.3.8 - Page Media Size /// </summary> public void WritePageMediaSizeFeature( IList <short> paperSizeCodes, IList <string> paperSizeDisplayNames, IList <DC_PAPER_SIZE> paperSizes) { if (paperSizeCodes.Count > 0) { WriteStartFeature( PrintSchemaNamespaces.StandardKeywordSet, "PageMediaSize", PrintSchemaNamespaces.StandardKeywordSet, "PickOne", COMPSTUISR.IDS_CPSUI_FORMNAME); { for (int i = 0; i < paperSizeCodes.Count; i++) { string optionNamespace = null; string optionLocalName = null; PageMediaSizeName mediaSizeEnum; if (PrintSchemaShim.TryGetPageMediaSizeNameFromPaperSizeCode(paperSizeCodes[i], out mediaSizeEnum)) { optionNamespace = PrintSchemaNamespaces.StandardKeywordSet; optionLocalName = mediaSizeEnum.ToString(CultureInfo.InvariantCulture); } else { optionNamespace = this._privateNamespace; optionLocalName = null; } if (optionLocalName != null && ((i < paperSizeDisplayNames.Count) || (i < paperSizes.Count))) { string optionDisplayName = (i < paperSizeDisplayNames.Count) ? paperSizeDisplayNames[i] : null; WriteStartOption(optionNamespace, optionLocalName, optionDisplayName, "None"); { if (i < paperSizes.Count) { WriteStartScoredProperty(PrintSchemaNamespaces.StandardKeywordSet, "MediaSizeWidth"); { WriteValue("xsd:integer", XmlConvert.ToString(paperSizes[i].Width)); } WriteEndScoredProperty(); WriteStartScoredProperty(PrintSchemaNamespaces.StandardKeywordSet, "MediaSizeHeight"); { WriteValue("xsd:integer", XmlConvert.ToString(paperSizes[i].Height)); } WriteEndScoredProperty(); } } WriteEndOption(); } } } WriteEndFeature(); } }