DCWriterÎı¾±à¼­Æ÷Èí¼þʹÓÃ˵Ã÷ - ͼÎÄ

±ß¿òÏß¼ä¾à£¬Ä¬ÈÏΪ0£¬½öÊÊÓÃÓÚ¶ÎÂä¡£ public float PaddingLeft{get;set;} ×óÄڱ߾࣬ĬÈÏΪ0¡£ public float PaddingTop{get;set;} ÉÏÄڱ߾࣬ĬÈÏΪ0¡£

public float PaddingRight{get;set;} ÓÒÄڱ߾࣬ĬÈÏΪ0¡£

public float PaddingBottom{get;set;} ÏÂÄڱ߾࣬ĬÈÏΪ0¡£ ¶ÎÂäÏà¹ØÊôÐÔ

public bool BulletedList{get;set;} ¶ÎÂäÊÇ·ñ²ÉÓÃÔ²µãʽÁÐ±í·½Ê½¡£ public bool NumberedList{get;set;}

¶ÎÂäÊÇ·ñ²ÉÓÃÊý×ÖʽÁÐ±í·½Ê½¡£

public DCSoft.Drawing.DocumentContentAlignment Align{get;set;} ¶ÎÂä¶ÔÆë·½Ê½¡£¿ÉѡֵÓÐLeft£¬Center£¬Right£¬Justify£¬Ä¬ÈÏΪLeft¡£ public float SpacingBeforeParagrah{get;set;}

¶ÎÂäǰ¼ä¾à£¬Ä¬ÈÏΪ0¡£

public float SpacingAfterParagraph{get;set;} ¶ÎÂäºó¼ä¾à£¬Ä¬ÈÏΪ0¡£ public float LineSpacing{get;set;} Ðмä¾à¡£

public DCSoft.Drawing.LineSpacingStyle LineSpacingStyle{get;set;} Ðмä¾àÑùʽ£¬Ëü¾ö¶¨ÁËLineSpacingÊôÐÔÖµµÄÒâÒ壬Æä¿ÉѡֵΪ SpaceSingle Space1pt5 SpaceDouble SpaceExactly SpaceSpecify µ¥±¶Ðоà,´ËʱLineSpacingÖµÎÞÒâÒå¡£ 1.5±¶Ðоà,´ËʱLineSpacingÖµÎÞÒâÒå¡£ Ë«±¶Ðоà,´ËʱLineSpacingÖµÎÞÒâÒå¡£ ×îСֵ,´ËʱLineSpacingÖµÎÞÒâÒå¡£ ¹Ì¶¨Öµ,´ËʱLineSpacingÖ¸¶¨ÁËÐмä¾à¡£ ×¢ÒâÔÚDCWriterÖУ¬Ðмä¾àÊÇÎı¾ÐеÄÉϱßÔµºÍÏÂÐеÄÉϱßÔµÖ®¼äµÄ¾àÀ룬¶ø²»ÊDZ¾ÐÐϱßÔµºÍÏÂÒ»ÐÐÉϱßÔµÖ®¼äµÄ¾àÀ룬Òò´ËËãÊÇÐиߡ£ ¶à±¶Ðоà,´ËʱLineSpacingÖ¸¶¨µÄ±¶Êý¡£ public DCSoft.Drawing.VerticalAlignStyle VerticalAlign{get;set;} Îı¾´¹Ö±¶ÔÆë·½Ê½¡£½öÊÊÓÃÓÚ±í¸ñµ¥Ôª¸ñ¡£ public float FirstLineIndent{get;set;} ¶ÎÂäÊ×ÐÐËõ½øÁ¿¡£

public float LeftIndent{get;set;} ¶ÎÂä×óËõ½øÁ¿¡£ ÊÚȨÏà¹Ø

public int CreatorIndex{get;set;}

´´½¨ÎĵµÄÚÈݵĴ´½¨ÕßÀúÊ·¼Ç¼±àºÅ£¬Ä¬ÈÏΪ-1¡£ public int DeleterIndex{get;set;} ɾ³ýÎĵµÄÚÈݵÄɾ³ýÕâÀúÊ·¼Ç¼±àºÅ£¬Ä¬ÈÏΪ-1¡£

SpaceMultiple

4.3.1. ÐÞ¸ÄÎĵµÑùʽ

ÓÉÓÚ¾ßÓÐÔËÐÐʱµÄÎĵµÑùʽ£¬Òò´Ëµ±Ó¦ÓóÌÐòÖ»ÊÇÐÞ¸ÄÁËÎĵµµÄĬÈÏÑùʽ£¬ÔòÕû¸öÎĵµËùÓÐÔªËØµÄÑùʽҲ»áËæ×Ÿü»»¡£

ÓÉÓÚ²ÉÓÃÑùʽÁбíÒýÓõķ½Ê½À´ÉèÖÃÎĵµÔªËصÄÑùʽ£¬Òò´Ë²»ÄÜÖ±½ÓÐÞ¸ÄÎĵµÔªËصÄÑùʽÉèÖã¬ÀýÈçÖ´ÐС°element.Style.Bold = true¡±ÕâÑùµÄ´úÂëÊÇ´íÎóµÄ¡£¶øÊÇÐèÒªÖ´ÐÐÒÔÏ´úÂ룺 DocumentContentStyle style = new DocumentContentStyle(); style.Bold = true; element.Style = style; Ò²¾ÍÊÇ¿ª·¢Õß²»ÄÜÖ±½ÓÉèÖÃÔªËØµÄelement.StyleÏÂÃæµÄÉèÖ㬶ø±ØÐë´´½¨Ò»¸öеÄDocumentContentStyle¶ÔÏó£¬È»ºóÉèÖÃËüµÄÖµ£¬×îºó½«ÆäÉèÖõ½ÎĵµÔªËصÄStyleÊôÐÔÖµÉÏ¡£¶øÇÒÕâÖÖ·½·¨ÔËÐÐËٶȿ죬µ«Ö»ÊǸüÐÂÁËÎĵµDOM½á¹¹£¬×îºó»¹±ØÐëµ÷Óñ༭Æ÷¿Ø¼þµÄRefreshDocument·½·¨¸üÐÂÎĵµÊÓͼ£¬¶øÇÒ²»Äܵ÷ÓÃUndo/RedoÃüÁîÖØ¸´ºÍ³·Ïú²Ù×÷¡£

4.4. ȨÏ޺ͺۼ£±£Áô¿ª·¢½Ó¿Ú

DCSoft.WriterÖ§³ÖÎĵµÄÚÈݵȼ¶È¨ÏÞ¿ØÖÆ¡£ÔÚ´ò¿ªÎĵµºóÓû§¿ÉÒÔÔڱ༭Æ÷ÖÐÖ´ÐеǼ²Ù×÷£¬Ã¿Ò»´ÎÓû§µÇ¼¶¼ÏµÍ³¶¼¼Ç¼Óû§ÃûºÍÓû§ÊÚȨµÈ¼¶¡£´ËʱÐÂÔö¡¢Ð޸ĻòÂß¼­É¾³ýµÄÄÚÈݶ¼¹éÓÚµ±Ç°Óû§ÃûÏ¡£ ²Ù×÷¿ØÖÆ

¶ÔÓÚ¿ª·¢ÈËÔ±À´Ëµ£¬Óû§ÊÚȨµÈ¼¶¾ÍÊÇÒ»¸öÕûÊý£¬¸ÃÊýÖµÔ½´ó£¬Óû§µÈ¼¶Ô½¸ß¡£ÔÚһƪÎĵµÄÚ²¿£¬¸ßµÈ¼¶Óû§ÖÆÔìµÄÎĵµÄÚÈݶԵ͵ȼ¶µÄÓû§À´ËµÊÇÖ»¶ÁµÄ£¬Ö»ÄÜ¿´²»ÄÜÐ޸ġ£¶øµÍµÈ¼¶Óû§ÖÆÔìµÄÎĵµÄÚÈݸߵȼ¶Óû§ÊÇ¿ÉÒԲ鿴ºÍÐ޸ġ¢É¾³ýµÄ¡£ ¿ÉÊÓ»¯ÏÔʾ

ÁíÍâ±à¼­Æ÷»¹ÄÜ¿ÉÊÓ»¯µÄÏÔʾÓû§²Ù×÷ºÛ¼£¡£¶ÔÓڵȼ¶Ð¡ÓÚµÈÓÚ0µÄÓû§£¬ÆäÄÚÈÝÕý³£ÏÔʾ£»¶ÔÓÚȨÏ޵ȼ¶Îª1µÄÓû§£¬Æä²åÈëµÄÎĵµÄÚÈÝʹÓÃÀ¶É«µÄµ¥Ï»®ÏßÀ´Í»³öÏÔʾ£¬ÆäÂß¼­É¾³ýµÄÄÚÈÝʹÓúìÉ«µÄµ¥Ìõɾ³ýÏßÀ´Í»³öÏÔʾ£»¶ÔÓÚȨÏ޵ȼ¶´óÓÚµÈÓÚ2µÄÓû§£¬Æä²åÈëµÄÄÚÈÝʹÓÃÀ¶É«Ë«Ï»®ÏßÀ´Í»³öÏÔʾ£¬ÆäÂß¼­É¾³ýµÄÄÚÈÝʹÓúìÉ«µÄ˫ɾ³ýÏßÀ´Í»³öÏÔʾ¡£

µ±Êó±êÍ£ÁôÔÚµ½ÎĵµÄÚÈÝÉÏʱ£¬»áÏÔʾһ¸öÌáʾ±êÇ©£¬ËµÃ÷ÎĵµÄÚÈݵĴ´½¨ÐÅÏ¢ºÍ±»Âß¼­É¾³ýµÄÐÅÏ¢¡£

ÕâÑùÎĵµµÄȨÏÞ¿ØÖÆ´Ó´«Í³µÄÎļþ¼¶±ðÉîÈëµ½ÎĵµÄÚ²¿£¬Õâ³ÉΪµç×Ó²¡ÀúÓ¦ÓÃϵͳʵÏÖÈý¼¶²é·¿¹¦Äܵļ¼Êõ»ù´¡¡£ÏàÐÅÆäËûÐÐÒµÓ¦ÓÃÒ²¿ÉÄÜ´æÔÚÀàËÆµÄÐèÇó¡£ È¨ÏÞ¼°ºÛ¼£Êý¾ÝµÄ´æ´¢

Ó¦ÓóÌÐò¿ÉÒÔͨ¹ýDCSoft.WriterÌṩµÄDOM½á¹¹Ö±½Ó·ÃÎÊȨÏ޺ͺۼ£ÐÅÏ¢¡£

Îĵµ¶ÔÏóÊÇDCSoft.Writer.Dom.XTextDocumentÀàÐÍ£¬Ëü¾ßÓÐÒÔϺͺۼ£ºÍȨÏÞÏà¹ØÊôÐÔ£º

public DCSoft.Writer.Dom.DocumentContentStyleContainer ContentStyles{get;set;}

Õû¸öÎĵµ¶¼Ê¹ÓõÄÎĵµÄÚÈÝÑùʽÈÝÆ÷¡£¸Ã¶ÔÏóµÄStylesÊôÐÔ¾ÍÊÇÒ»¸öÎĵµÑùʽÁÐ±í£¬ÆäÁбíÔªËØÀàÐÍÊÇDCSoft.Writer.Dom.DocumentContentStyle¡£¸ÃÀàÐÍÖÐȨÏÞÏà¹ØµÄÊôÐÔÓÐ

public int CreatorIndex{get;set;} ´´½¨¸ÃÎĵµÔªËصÄÓû§ÀúÊ·¼Ç¼±àºÅ¡£ÏµÍ³Ê¹ÓøñàºÅÔÚÎĵµ¶ÔÏóµÄUserHistoriesÁбíÖмìË÷Óû§µÇ¼²Ù×÷ÀúÊ·¼Ç¼¶ÔÏó¡£

public int DeletorIndex{get;set;} Âß¼­É¾³ý¸ÃÎĵµÔªËصÄÓû§ÀúÊ·¼Ç¼±àºÅ¡£ public DCSoft.Writer.Security.UserHistoryInfoList UserHistories{get;set;} Óû§µÇ¼²Ù×÷¼Ç¼ÁÐ±í¡£ËüÊÇÒ»¸öÁÐ±í£¬Æä×îºóÒ»¸öÔªËØ¾ÍÊǵ±Ç°Óû§µÇ¼ÀúÊ·¼Ç¼¡£¸ÃÁбíÔªËØÀàÐÍΪDCSoft.Writer.Security.UserHistoryInfo¡£UserHistoryInfoÀàÐ͵ÄÊôÐÔÓÐ

int Index{get;set;} ¼Ç¼±àºÅ¡£ string ID{get;set;} string Name{get;set;} DateTime SavedTime{get;set;} int PermissionLevel{get;set;} string Description{get;set;} string Tag{get;set;} µÇ¼Óû§±àºÅ¡£ µÇ¼Óû§Ãû¡£ ±£´æÎĵµµÄÈÕÆÚʱ¼ä¡£ Óû§ÊÚȨµÈ¼¶¡£ Óû§µÇ¼ʱ¸½¼ÓµÄ˵Ã÷ÎÄ×Ö¡£ À©Õ¹Êý¾Ý¡£ ÎĵµÖÐËùÓеÄÔªËØ¶¼ÅÉÉú×ÔDCSoft.Writer.Dom.XTextElementÀàÐÍ£¬¸ÃÀàÐ;ßÓÐÒ»¸öÇ©ÃûΪ¡°public int StyleIndex{get;set;}¡±µÄÊôÐÔ£¬ÏµÍ³¾Í¸ù¾ÝÕâ¸öÊôÐÔÖµÔÚÎĵµ¶ÔÏóµÄContentStyles.StylesÁбíÖмìË÷ÎĵµÑùʽ¶ÔÏó¡£

ÓÉÓÚÒѾ­ÓÐÁËÕâЩÊý¾Ý£¬±à¼­Æ÷Èí¼þ¾Íͨ¹ýÒÔÏÂÁ÷³Ì²éÕÒȨÏÞÐÅÏ¢¡£

1. »ñµÃÎĵµÔªËضÔÏ󣨶¼ÊÇÅÉÉú×ÔXTextElementÀàÐÍ£©µÄStyleIndexÊôÐÔ£¬¼ìË÷Îĵµ¶ÔÏó

µÄContentStyles.StylesÁÐ±í£¬Ò²¾ÍÊÇͨ¹ý´úÂë¡°document.ContentStyles.Styles[ element.StyleIndex ]¡±»ñµÃÎĵµÑùʽ¶ÔÏó¡£

2. ¸ù¾ÝÎĵµÑùʽ¶ÔÏóµÄCreatorIndex¼ìË÷Îĵµ¶ÔÏóµÄUserHistoriesÁÐ±í£¬Ò²¾ÍÊÇͨ¹ý´úÂë

¡°document.UserHistories[ style.CreatorIndex »ò style.DeletorIndex ]¡±»ñµÃÓû§µÇ¼ÀúÊ·¼Ç¼ÐÅÏ¢¶ÔÏó¡£

3. »ñµÃÁËÎĵµÀúÊ·¼Ç¼¶ÔÏóµÄPermsissionLevelÖµ£¬Ò²¾ÍÊÇ´´½¨»òÕßÂß¼­É¾³ý¸ÃÎĵµÔªËØ

µÄÓû§È¨Ï޵ȼ¶£¬È»ºó¸úµ±Ç°Óû§È¨Ï޵ȼ¶½øÐбȽϡ£Èô´óÓÚµ±Ç°µÈ¼¶£¬Ôòµ±Ç°Óû§ÎÞ·¨Ð޸ĸÃÎĵµÔªËØ£»ÈôСÓÚµÈÓÚµ±Ç°µÄµÈ¼¶£¬Ôòµ±Ç°Óû§¿ÉÒÔÐ޸ĻòÕßɾ³ý¸ÃÎĵµÔªËØ¡£

Ò²¾ÍÊÇ˵±à¼­Æ÷ͨ¹ýelement.StyleIndex ¡údocument.ContentStyles.Styles ¡údocument.UserHistoriesÕâÑùµÄ²éѯ·¾¶»ñµÃÎĵµÔªËصÄÊÚȨÐÅÏ¢¡£´ËʱӦÓÃϵͳҲ¿ÉÒÔͨ¹ýÕâÑùµÄ·¾¶Ö±½Ó·ÃÎÊÎĵµÖеÄȨÏÞ¼°ºÛ¼£±£ÁôÐÅÏ¢¡£

ÆôÓÃȨÏÞ¿ØÖÆ

ÒªÓ¦ÓÃÎĵµÄÚÈݵȼ¶È¨ÏÞ¿ØÖÆ£¬Ê×ÏÈÒªÆôÓÃÊÚȨ¿ØÖÆ£¬ÐèÒªÉèÖñ༭Æ÷µÄÒÔÏÂÊôÐÔ ctl.DocumentOptions.SecurityOptions.EnablePermission

ÊÇ·ñÆô¶¯ÎĵµÄÚÈݵȼ¶È¨ÏÞ¿ØÖÆ£¬ÕâÊÇ×î»ù´¡µÄÊôÐÔ¡£ Ctl.DocumentOptions.SecurityOptions.EnableLogicDelete

ÊÇ·ñÆôÓÃÂß¼­É¾³ý¹¦ÄÜ¡£Ò»°ãµÄÓû§¹¦ÄÜÐèÇó¶¼ÐèÒªÉèÖøÃÊôÐÔ¡£ ctl.DocumentOptions.SecurityOptions.ShowLogicDeleteContent

ÊÇ·ñÏÔʾ±»Âß¼­É¾³ýµÄÄÚÈÝ¡£Õâ¸öÊÓÓû§ÐèÇó¶øÉèÖᣠctl.DocumentOptions.SecurityOptions.ShowPermissionMark ÊÇ·ñÏÔʾÓû§ºÛ¼£±ê¼Ç¡£ Óû§µÇ¼ ÆôÓñ༭Æ÷µÄȨÏÞ¿ØÖƺó£¬Ó¦ÓóÌÐòͨ¹ýÁ½ÖÖģʽ½øÐеǼ¡£ 1.×Ô¶¯µÇ¼¡£

Ó¦ÓóÌÐòÉèÖñ༭Æ÷¿Ø¼þµÄAutoUserLoginÊôÐÔΪtrue£¬ÕâÑùÆôÓÃ×Ô¶¯µÇ¼£¬È»ºóÉèÖÃ

±à¼­Æ÷¿Ø¼þµÄAutoUserLoginInfoÊôÐÔÖµ£¬¶¨ÒåºÃ×Ô¶¯µÇ¼ʱµÄÓû§ÐÅÏ¢¡£

AutoUserLoginInfoÊôÐÔÖµÊÇDCSoft.Writer.Security.UserLoginInfoÀàÐÍ¡£¸ÃÀàÐ͵ÄÊôÐÔÓÐ string ID{get;set;} Óû§µÇ¼ºÅ¡£ string Name{get;set;} int PermissionLevel{get;set;} string Description{get;set;} string Tag{get;set;} Óû§Ãû¡£ Óû§È¨Ï޵ȼ¶¡£¸ÃÊýÖµÔ½¸ß£¬Óû§È¨Ï޵ȼ¶Ô½¸ß¡£ Óû§´Ë´ÎµÄµÇ¼µÄ˵Ã÷ÐÅÏ¢¡£¹©Ó¦ÓóÌÐòʹÓ㬱༭Æ÷ÄÚ²¿²»Ê¹ÓᣠÀ©Õ¹ÐÅÏ¢¡£¹©Ó¦ÓóÌÐòʹÓ㬱༭Æ÷ÄÚ²¿²»Ê¹Óᣠµ±ÉèÖúÃ×Ô¶¯µÇ¼ºó£¬±à¼­Æ÷¿Ø¼þÿ´Î¼ÓÔØÎĵµºó¾Í»á×Ô¶¯µÇ¼£¬½«Ö¸¶¨µÄÓû§ÐÅÏ¢Ìí¼Óµ½ÎĵµÖв¢ÉèÖÃΪµ±Ç°Óû§¡£ 2.Ó¦ÓóÌÐòµÇ¼¡£

Ó¦ÓóÌÐòÉèÖñ༭Æ÷¿Ø¼þµÄAutoUserLoginÊôÐÔΪfalse£¬ÕâÑù¾ÍÐèÒªÓ¦ÓóÌÐòµÇ¼ÁË¡£Ó¦ÓóÌÐòÔÚµ÷Óñ༭Æ÷¿Ø¼þµÄLoadDocument·½·¨¼ÓÔØÎĵµºó£¬»òÕßÏìÓ¦±à¼­Æ÷¿Ø¼þµÄDocumentLoadʼþÀ´½øÐеǼ¡£

Ó¦ÓóÌÐòµ÷Óñ༭Æ÷¿Ø¼þµÄUserLogin·½·¨Ö´ÐеǼ¡£Í¨¹ýÕâ¸ö·½·¨À´´«µÝÓû§Ãû¡¢ÊÚȨµÈ¼¶µÈµÇ¼ÐÅÏ¢¡£

4.5. Îı¾±à¼­Æ÷¿Ø¼þ

DCWriterµÄGUIÄ£¿éµÄºËÐľÍÊÇÎı¾±à¼­Æ÷¿Ø¼þ£¬¸Ã¿Ø¼þÀàÐÍΪDCSoft.Writer.Controls.WriterControl¡£ËüÊÇÒ»¸öWinForm¿Ø¼þ£¬²¢ÇÒÊÇCOM¹«¿ªµÄ¡£

¸Ã¿Ø¼þ³£ÓõijÉÔ±ÓÐ

public bool AllowDragContent{get;set;} ÄÜ·ñÖ±½ÓÍÏ×§ÎĵµÄÚÈÝ£¬Ä¬ÈÏΪfalse¡£

Public bool IsCommandEnabled( string commandName )

ÅжÏÖ¸¶¨Ãû³ÆµÄ±à¼­Æ÷¹¦ÄÜÃüÁîÔÚµ±Ç°ÊÇ·ñ¿ÉÓá£×¢Ò⣺µ÷ÓÃÕâ¸öº¯ÊýÖ»ÊÇ·µ»ØÃüÁî״̬£¬²»»á×Ô¶¯ÉèÖøÃÃüÁî°ó¶¨µÄ°´Å¥»ò²Ëµ¥À¸µÄ״̬¡£ Public bool IsCommandChecked( string commandName ) ÅжÏÖ¸¶¨Ãû³ÆµÄ±à¼­Æ÷¹¦ÄÜÃüÁîÔÚµ±Ç°ÊÇ·ñ´¦ÓÚ¹´Ñ¡×´Ì¬¡£×¢Ò⣺µ÷ÓÃÕâ¸öº¯ÊýÖ»ÊÇ·µ»ØÃüÁî״̬£¬²»»á×Ô¶¯ÉèÖøÃÃüÁî°ó¶¨µÄ°´Å¥»ò²Ëµ¥À¸µÄ״̬¡£

Public object ExecuteCommand( string commnadName , bool enableUI , object parameter ) Ö´ÐÐÖ¸¶¨Ãû³ÆµÄ±à¼­Æ÷¹¦ÄÜÃüÁî¡£µÚÒ»¸ö²ÎÊýÖ¸¶¨ÃüÁîÃû³Æ£¬µÚ¶þ¸ö²ÎÊýΪÊÇ·ñÔÊÐíÏÔʾÓû§½çÃæ£¬µÚÈý¸ö²ÎÊýΪÓû§Ö¸¶¨µÄ¶îÍâ²ÎÊý¡£ Public event CommandEventHandler CommandError

Ö´Ðб༭Æ÷¹¦ÄÜÃüÁîʱ³ö´íʱµÄʼþ¡£

Public virtual void OnCommandError( WriterCommand cmd , WriterCommandEventArgs cmdArgs , Exception exp ) ´¦ÀíÔÚÖ´Ðб༭Æ÷¹¦ÄÜÃüÁîʱÅ׳öµÄÒì³£¡£ Public DateTime LastUIEventTime

×îºóÒ»´ÎÓû§½çÃæÊ¼þµÄ·¢Éúʱ¼ä£¬Óû§½çÃæÊ¼þ°üÀ¨Êó±ê¼üÅÌʼþ¡¢OLEÍÏקʼþ¡£Ó¦ÓóÌÐò¿ÉÒÔ¸ù¾ÝÕâ¸öÊôÐÔÖµÀ´ÊµÏÖ³¬Ê±Ëø¶¨Óû§½çÃæµÄ¹¦ÄÜ¡£ Public bool Readonly{get;set;}

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)