setText에디터에 일정부분만 편집을 허용하거나 제한 할 수 있습니다.
<!-- code mirror -->
<script type="text/javascript" src='https://www.synapeditor.com/se/resource/synapeditor/externals/codeMirror/codemirror.min.js'></script>
<script type="text/javascript" src="https://www.synapeditor.com/se/resource/synapeditor/externals/codeMirror/xml.min.js"></script>
<link rel='stylesheet' href='https://www.synapeditor.com/se/resource/synapeditor/externals/codeMirror/codemirror.min.css'>
<!-- external modules -->
<script type="text/javascript" src='https://www.synapeditor.com/se/resource/synapeditor/externals/formulaParser/formula-parser.min.js'></script>
<script type="text/javascript" src='https://www.synapeditor.com/se/resource/synapeditor/externals/SEDocModelParser/SEDocModelParser.min.js'></script>
<script type="text/javascript" src='https://www.synapeditor.com/se/resource/synapeditor/externals/SEShapeManager/SEShapeManager.min.js'></script>
<!-- Synap Editor -->
<script src='https://www.synapeditor.com/se/resource/synapeditor/synapeditor.config.js'></script>
<script src='https://www.synapeditor.com/se/resource/synapeditor/synapeditor.min.js'></script>
<link href='https://www.synapeditor.com/se/resource/synapeditor/synapeditor.min.css' rel='stylesheet' type='text/css'>
<div style="background-color: #ffffff; width:99%;">
<table data-template-id="2" style="border-collapse: collapse; word-break: break-all; white-space: normal; line-height: normal; width: 850px; vertical-align: text-bottom; border-style: solid; border-width: 1px; border-color: rgb(0, 0, 0); margin-bottom: 15px;">
<colgroup>
<col style="width: 91px;">
<col style="width: 377px;">
</colgroup>
<tbody>
<tr style="height: 25px;">
<th style="padding: 5px; word-break: break-word; background-color: rgb(240, 239, 239); text-align: center; width: 91px; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
작성일
</th>
<td style="padding: 5px; word-break: break-word; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
<input type="text" name="f_regdate" class="setText" value="2019년 10월 7일">
</td>
</tr>
<tr style="height: 25px;">
<th style="padding: 5px; word-break: break-word; background-color: rgb(240, 239, 239); text-align: center; width: 91px; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
부서
</th>
<td style="padding: 5px; word-break: break-word; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
<input type="text" name="f_dept" class="setText" value="에디터팀">
</td>
</tr>
<tr style="height: 25px;">
<th style="padding: 5px; word-break: break-word; background-color: rgb(240, 239, 239); text-align: center; width: 91px; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
작성자
</th>
<td style="padding: 5px; word-break: break-word; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
<input type="text" name="f_writer" class="setText" value="홍길동">
</td>
</tr>
<tr style="height: 25px;">
<th style="padding: 5px; word-break: break-word; background-color: rgb(240, 239, 239); text-align: center; width: 91px; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
영수일
</th>
<td style="padding: 5px; word-break: break-word; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
<input type="text" name="f_appdate" class="setText" value="2019년 10월 7일">
</td>
</tr>
<tr style="height: 25px;">
<th colspan="2" style="padding: 5px; word-break: break-word; background-color: rgb(240, 239, 239); text-align: center; width: 91px; border-width: 1px; border-style: dashed; border-color: rgb(0, 0, 0);">
<button id="input">입력</button>
</th>
</tr>
</tbody>
</table>
<div style="width:850px;height:900px;">
<div id="synapEditor"></div>
</div>
</div>
<script>
var initHtml = "<div class='se-lock se-contents'
style='font-family: Arial, Helvetica, sans-serif; font-size: 11pt; line-height: 1.2; padding: 25px 10px 25px 25px;'>
<div class='se-div' style='text-align: left; padding: 5px; width: 790px; overflow: auto;'>
<h1 style='overflow-wrap: break-word; text-align: center; margin: 16px 0px; display: block;'><span>개 인 지 출 결 의
서</span></h1>
</div>
<table data-template-id='1'
style='line-height: normal; width: 800px; word-break: break-all; border-collapse: collapse; vertical-align: text-bottom;'>
<colgroup>
<col style='width: 83px;'>
<col style='width: 117px;'>
<col style='width: 87px;'>
<col style='width: 113px;'>
<col style='width: 100px;'>
<col style='width: 100px;'>
<col style='width: 100px;'>
<col style='width: 100px;'>
</colgroup>
<tbody>
<tr>
<td colspan='4'
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<h3 style='overflow-wrap: break-word; margin: 0px; display: block;'><span>(주)사이냅소프트</span></h3>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgba(255, 255, 255, 0) rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td rowspan='3'
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>결제</span></p>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>담당</span></p>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>팀장</span></p>
</td>
</tr>
<tr>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>작성일</span></p>
</td>
<td id='f_regdate' colspan='3'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgba(255, 255, 255, 0) rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td rowspan='2'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td rowspan='2'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>부서</span></p>
</td>
<td id='f_dept'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>작성자</span></p>
</td>
<td id='f_writer'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgba(255, 255, 255, 0) rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
</tbody>
</table>
<table class='se-unlock' data-template-id='1'
style='line-height: normal; margin-top: 10px; width: 800px; word-break: break-all; border-collapse: collapse; vertical-align: text-bottom;'>
<colgroup>
<col style='width: 73px;'>
<col style='width: 67px;'>
<col style='width: 171px;'>
<col style='width: 160px;'>
<col style='width: 329px;'>
</colgroup>
<tbody>
<tr class='se-lock'>
<td colspan='2'
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>날짜</span></p>
</td>
<td
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>계정명</span></p>
</td>
<td
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>금액</span></p>
</td>
<td
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>사용내역</span></p>
</td>
</tr>
<tr class='se-lock'>
<td colspan='5'
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>신용카드 사용분 (연말 소득공제
불가)</span></p>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr class='se-lock'>
<td colspan='3'
style='background-color: rgb(239, 239, 239); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>소계</span></p>
</td>
<td colspan='2' data-formula-text='sum(D3:D7)' data-number-format-id='179'
data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>₩0</span></p>
</td>
</tr>
<tr class='se-lock'>
<td colspan='5'
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>일반 영수증 사용분 (개인 현금영수증
불가)</span></p>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td data-number-format-id='179' data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td data-number-format-id='179' data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td data-number-format-id='179' data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td data-number-format-id='179' data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td data-number-format-id='179' data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
<tr class='se-lock'>
<td colspan='3'
style='background-color: rgb(239, 239, 239); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>소계</span></p>
</td>
<td colspan='2' data-formula-text='sum(D10:D14)' data-number-format-id='179'
data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>₩0</span></p>
</td>
</tr>
<tr class='se-lock'>
<td colspan='3'
style='background-color: rgb(220, 220, 220); text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>지출총계</span></p>
</td>
<td colspan='2' data-formula-text='D8+D15' data-number-format-id='179'
data-number-format-code='₩#,##0_);[Red](₩#,##0)'
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>₩0</span></p>
</td>
</tr>
</tbody>
</table>
<table data-template-id='1'
style='line-height: normal; margin-top: 10px; width: 800px; word-break: break-all; border-collapse: collapse; vertical-align: text-bottom;'>
<colgroup>
<col style='width: 158px;'>
<col style='width: 121px;'>
<col style='width: 121px;'>
<col style='width: 400px;'>
</colgroup>
<tbody>
<tr>
<td rowspan='2'
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>경영지원팀</span></p>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>담당</span></p>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>팀장</span></p>
</td>
<td
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
<p style='overflow-wrap: break-word; margin: 0px; display: block;'><span>영수</span></p>
</td>
</tr>
<tr style='height: 88.1875px;'>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td
style='text-align: left; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
<td id='f_appdate'
style='text-align: center; padding: 5px; border-color: rgb(0, 0, 0); border-style: solid; border-width: 1px; word-break: break-word;'>
</td>
</tr>
</tbody>
</table>
</div>";
const config = Object.assign(synapEditorConfig, {
"editor.license":"/se/resource/license.json",
"editor.menu.show": false,
"editor.import.maxSize": 10485760,
"editor.import.api": "/importDoc",
"editor.upload.maxSize": 3145728,
"editor.upload.image.api": "/se/uploadFile",
"editor.upload.video.api": "/se/uploadFile",
"editor.upload.file.api": "/se/uploadFile",
"editor.initFocus": false
});
window.editor = new SynapEditor("synapEditor", config, initHtml);
document.getElementById('input').addEventListener('click', function () {
var elInput = document.getElementsByClassName('setText');
var data = [];
for (var i = 0; i < elInput.length; i++) {
data.push({
selector: '#' + elInput[i].name,
text: elInput[i].value
});
}
try {
window.editor.setTextBySelectors(data);
} catch (e) {
console.error(e);
}
});
</script> |