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();
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 | 
