using System; using System.Collections.Generic; using System.Text; using Volian.MSWord; using LBWordLibrary; using System.Threading; namespace DataLoader { class WordDocument { private string _FileName; public string FileName { get { return _FileName; } set { _FileName = value; } } private string _ASCII = null; public string ASCII { get { return _ASCII; } set { _ASCII = value; } } private float _DocLen = 1.0F; public float DocLen { get { return _DocLen; } set { _DocLen = value; } } private string _Stype; /// /// 16-bit's type[1] used the following codes to represent the respective lpi setting /// /// char far typestr[] = "*pP46f7L"; /// /// char * far printtypes[] = { /// "Compressed, 8 lines per inch", /// "Elite, 6 lines per inch", /// "Pica, 6 lines per inch", /// "Default font, 4 Lines Per Inch", /// "Default font, 6 Lines Per Inch", /// "Compressed 6 LPI", /// "Default font, 7 Lines Per Inch", /// "Special Landscape, Elite, 6 lines per inch" /// public string Stype { get { return _Stype; } set { _Stype = value; if (_Stype != null) { if (_Stype != null) { // stype[1] == 'p' or 'P' or '6' 'f' or 'L' get spc = 6 if (_Stype[1] == '*') LPI = 8; else if (_Stype[1] == '4') LPI = 4; else if (_Stype[1] == '7') LPI = 7; // if need landscape set too: bool landscape = (stype[1] == 'L'); } } } } private int _LPI = 6; public int LPI { get { return _LPI; } set { _LPI = value; } } private string _OutFileName; public string OutFileName { get { return _OutFileName; } set { _OutFileName = value; } } private bool _IsLandscape; public bool IsLandscape { get { return _IsLandscape; } set { _IsLandscape = value; } } public WordDocument(string fileName, string stype, string outFileName, bool isLandscape) { FileName = fileName; Stype = stype; OutFileName = outFileName; IsLandscape = isLandscape; } public void GetAsciiFromWord() { WordDoc myWordDoc = null; try { myWordDoc = new WordDoc(FileName); myWordDoc.SetLineSpacing(LPI); if (IsLandscape) { myWordDoc.MyWordDoc.PageSetup.Orientation = LBWdOrientation.wdOrientLandscape; } try { DocLen = myWordDoc.Length; } catch (Exception ex1) { Console.WriteLine("{0} - {0}\r\n\r\n{1}", ex1.GetType().Name, ex1.Message); } ASCII = myWordDoc.MyWordDoc.Ascii; myWordDoc.Save(OutFileName); myWordDoc.Close(); Thread.Sleep(500); } catch (Exception ex) { Console.WriteLine("Could not get Ascii", ex); WordDoc.CloseApp(); } } } }