c# - Adding a watermark to Microsoft Word Document -


i attempting add watermark microsoft word headers using vsto , shapes.addtexteffect, seems add correctly until check different first page , different odd & pages check-boxes in header , footer design.

it seems adding odd page header, i'm not sure why i'm passing in different header types, find code below.

private static void updatewatermark(comobjectwrapper<document> doc, string watermarktext, string watermarkname, style style)     {         foreach (section section in doc.resource.sections)         {              if (!watermarktext.isnullorempty())             {                 insertwatermark(section.headers[wdheaderfooterindex.wdheaderfooterprimary], section, watermarktext, watermarkname + (int)wdheaderfooterindex.wdheaderfooterprimary, style);                 if (section.pagesetup.differentfirstpageheaderfooter == -1)                     insertwatermark(section.headers[wdheaderfooterindex.wdheaderfooterfirstpage], section, watermarktext, watermarkname + (int)wdheaderfooterindex.wdheaderfooterfirstpage, style);                 if (section.pagesetup.oddandevenpagesheaderfooter == -1)                     insertwatermark(section.headers[wdheaderfooterindex.wdheaderfooterevenpages], section, watermarktext, watermarkname + (int)wdheaderfooterindex.wdheaderfooterevenpages, style);             }         }     }   private static void insertwatermark(headerfooter header, section section, string watermarktext, string watermarkname, style style)     {         var wm = header.shapes.addtexteffect(msopresettexteffect.msotexteffect1, watermarktext,             style.watermarkstyle.fontfamily,             style.watermarkstyle.fontsize ?? 72,             msotristate.msofalse, msotristate.msofalse, 0, 0, header.range);         wm.visible = msotristate.msofalse;         wm.name = watermarkname;         wm.fill.forecolor.rgb = (int)wdcolor.wdcolorgray10;         wm.fill.backcolor.rgb = (int)wdcolor.wdcolorgray10;         wm.fill.transparency = 0.2f;         wm.fill.solid();         wm.rotation = -45;          wm.relativeverticalposition = wdrelativeverticalposition.wdrelativeverticalpositionpage;         wm.relativehorizontalposition = wdrelativehorizontalposition.wdrelativehorizontalpositionpage;         wm.height = style.watermarkstyle.height != null             ? (float)style.watermarkstyle.height             : section.pagesetup.pageheight - 400;         wm.width = section.pagesetup.pagewidth - 200;         wm.wrapformat.allowoverlap = -1;         wm.wrapformat.side = wdwrapsidetype.wdwrapboth;         wm.wrapformat.type = wdwraptype.wdwrapnone;          wm.left = (float)wdshapeposition.wdshapecenter;         wm.top = (float)wdshapeposition.wdshapecenter;         wm.visible = msotristate.msoctrue;     } 

if (section.pagesetup.oddandevenpagesheaderfooter == -1)

is enum correct? havent earned commenting yet =)


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -