웹에서는 어떻게 클라이언트의 Word 내용을 읽고 페이지에 표시할 수 있나요?
두 가지 방법이 있다는 것을 알았습니다. 하나는 클라이언트에서 직접 작업하는 것이고, 다른 하나는 클라이언트의 단어를 서버에 업로드하여 작업하는 것입니다. 이 두 가지 방법에는 각각 장단점이 있습니다.
클라이언트 작업의 예를 들어 보겠습니다.
먼저 .aspx<script 언어='javascript'>
에 다음 js 코드를 추가합니다.
//기본 단어 변환 파일은 C:\ 아래에 있습니다.
var os__localPath = "C:\";
//저장된 파일명
var os__localFile = "defaultFileWord.htm";
var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
var os__xmlFSO;
//현재 클라이언트에 데이터를 저장합니다(저장할 파일 이름을 전달할 수 있음).
os_SaveToLocal() 함수
{
var _saveAs = "";
if(인수.길이 > 0)
_saveAs = 인수[0] + "";
또 다른
_saveAs = os__localFile;
노력하다
{
if(os__xmlFSO == null)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
}
catch(e){window.alert(e);}
}
//Word를 HTML 파일로 변환
함수 WorcChangeHtml()
{
var os_xmlFSO;
//업로드 제어 개체를 가져옵니다.
var objUpFile = window.document.Form1.updFile;
//클라이언트 Word 파일 경로 및 파일 가져오기
var UpFileValue = window.document.Form1.updFile.value;
if(os__xmlFSO == null)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
노력하다
{
if(window.document.Form1.updFile.value == "")
{
Alert('해당 Word 파일을 선택하세요.');
objUpFile.focus();
}
그렇지 않은 경우(UpFileValue.indexOf(".doc") == -1)
{
Alert('선택한 파일은 Word 파일이 아닙니다.rn올바른 Word 파일을 선택하세요.');
objUpFile.focus();
}
else if(!os__xmlFSO.FileExists(objUpFile.value))
{
Alert('해당 Word 파일이 존재하지 않습니다.');
objUpFile.focus();
}
또 다른
{
var wdFormatHTML = 8;
var objWord = new ActiveXObject("Word.Application");
objWord.Application.Visible = 거짓;
var objDoc = objWord.Documents.Open(UpFileValue);
objDoc.SaveAs(os__localPath+os__localFile, wdFormatHTML);
window.document.Form1.updFile.value = "";
objDoc.Close();
objWord.Quit();
var GetHtml = GetLine();
var iBeginIndex = GetHtml.indexOf("<body");
var iEndIndex = GetHtml.lastIndexOf("</body>");
GetHtml = GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body","<div");
GetHtml = GetHtml.replace("</body>","</div>");
//변환된 값을 페이지 컨트롤 txtIdea의 값에 할당합니다. Word 값을 데이터베이스에 저장하기 위해 <input type = "hidden"....을 사용합니다. Word 내용을 표시하려면 다음을 수행합니다. window.document.Form1을 고려하십시오. "디스플레이 컨트롤 ID".innerText = GetHtml;
window.document.Form1.txtIdea.value = GetHtml;
}
}
catch(e){window.alert(e);}
}
//텍스트 파일 읽기
함수 GetLine()
{
var fso, txtfile, strValue;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
동안(!txtfile.AtEndOfStream)
{
strValue = strValue + txtfile.ReadLine();
}
txtfile.Close();
return(str값);
}
</script>
다음 2개의 컨트롤과 해당 클라이언트 이벤트를 페이지에 추가해야 합니다.
<input id="updFile" type="file" style="BORDER-RIGHT: 1px 솔리드; BORDER-TOP: 1px 솔리드; BORDER-LEFT: 1px 솔리드; WIDTH: 77.46%; BORDER-BOTTOM: 1px 솔리드; 높이: 26px"
size="71"> <input style="BORDER-RIGHT: #999999 1px 실선; BORDER-TOP: #999999 1px 실선; FONT-SIZE: 15pt; BORDER-LEFT: #999999 1px 실선; WIDTH: 103px; BORDER- 하단: #999999 1px 높이: 28px"
onclick="WorcChangeHtml()" runat="server" id="btnUpLoad" type="submit" value="import" name="btnUpLoad">
<textarea style="WIDTH: 15.25%; HEIGHT: 23px"rows="50" cols="16" id="txtIdea"
runat="서버">
txtIdea의 값은 클라이언트 Word의 콘텐츠입니다. 참고: IE의 보안 설정을 조정해야 합니다. 그렇지 않으면 유효하지 않습니다.