|
?еоб?одимо найти ?а??о?ожение и ?азме? ???мо??о?ьни?о?, об??ат??аю?и? ?аждое ??о?о и ?а?тин?? ? до??менте Word (??и заданн?? ?о?мати?о?ании и ?а?амет?а? ?т?ани??).
??таю?ь это ?де?ать ?е?ез ??ой?т?о Rectangles об?е?та Pages (_Document.ActiveWindow.ActivePane.Pages) ??ед?ю?им об?азом:
object missing = Type.Missing; object fileName = @"c:\1.rtf"; object dontConfirmConversions = false; object openReadWrite = true; object nonVisible = false;
Word._Application wapp = new Microsoft.Office.Interop.Word.Application(); Word._Document doc = wapp.Documents.Open( ref fileName, ref dontConfirmConversions, ref openReadWrite, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref nonVisible, ref missing, ref missing, ref missing, ref missing ); Word.Pages pages = doc.ActiveWindow.ActivePane.Pages;
using ( StreamWriter sw = new StreamWriter( "TestFile.txt" ) ) { foreach ( Word.Page p in pages ) { Word.Rectangles rects = p.Rectangles; foreach ( Word.Rectangle r in rects ) { sw.WriteLine( " Width:" + r.Width + " Height: " + r.Height ); } } }
?тот ?од до?жен зане?ти ?азме?? ??е? об?ам??ю?и? ???мо??о?ьни?о? ? ?ай? TestFile.txt.
Что он, ? ??ин?и?е, и де?ает :) ?о ?о???ает?? то?ь?о одна за?и?ь, ??и?ем д?? ?юбо?о ?ай?а (на??име?, Width:312 Height: 728).
Я та? ?онимаю, ?то это ?азме? об?ам??ю?е?о ???мо??о?ьни?а д?? ??е? данн?? ? до??менте :)
?то ?о?о?о, ?едь е?ть ??ой?т?о Lines об?е?та Rectangles, ?ото?ое, ? ??ин?и?е, можно б??о б? и??о?ьзо?ать та?:
Вме?то ?и??а: foreach ( Word.Rectangle r in rects ) { sw.WriteLine( " Width:" + r.Width + " Height: " + r.Height ); } ??дем иметь та?ой: foreach ( Word.Rectangle r in rects ) { foreach ( Word.Line line in r.Lines ) { foreach ( Word.Rectangle lr in line.Rectangles ) { sw.WriteLine( " Width:" + r.Width + " Height: " + r.Height ); } sw.WriteLine(); } }
?дна?о ??и из??е?ении ??ой?т?а line.Rectangles ???ета Bт и???ю?ение.
Что ?о?о?ет?ете де?ать ? та?ой ?ит?а?ии? Я ?онимаю, ?то ?о??о? до?о?ьно ?е?ьезн?й и т?еб?ет дей?т?ите?ьно?о ??о?е??иона?изма, но ? за?е? ? т??и?, ?оэтом? о?ень б?д? ?ад ?омо?и.
Regards, Oleg |