122 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
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;
 | 
						|
		/// <summary>
 | 
						|
		/// 	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"
 | 
						|
		/// </summary>
 | 
						|
		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();
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |