Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 사이냅 에디터 + 임포트 모듈
    • SynapEditor_23.x.x.zip
  • 메타파일 변환용 폰트
    • fonts.zip

...

(이 설명서에서는 /workspace 경로에 파일 복사 후 압축을 해제합니다. 또한 /workspace가 WEB ROOT 인 경우에 맞춰서 설명합니다.)

SynapEditor_23.x.x.zip 파일을 압축해제하면 아래와 같은 경로가 생성됩니다.

경로내용설명

/workspace/SynapEditor_23.x.x/SynapEditor

Image RemovedImage Added

externals : 외부모듈 디렉토리

iframeMode : iframeMode 디렉토리

lang : 언어 디렉토리

plugins : 플러그인 디렉토리

theme : 테마 디렉토리

license.json : 라이센스 파일

synapeditor.config.js : 환경설정 파일


Warning

Status
colourYellow
title2.13.0 이상

synapeditor.pkgd.min.js, synapeditor.pkgd.min.css 파일을 제공하지 않습니다.


Info

synapeditor.pkgd.min.js, synapeditor.pkgd.min.css 파일에는 사이냅에디터에서 제공하는 플러그인들이 모두 포함되어 있습니다.

모든 플러그인을 다 사용하실 경우 위 파일을 사용하시면 됩니다. 

다만 synapeditor.pkgd.min.js 파일의 사이즈가 커서 가급적 synapeditor.min.js 파일을 사용하시고 필요한 플러그인들을 별도로 적용하는걸 권장하고 있습니다.


/workspace/SynapEditor_23.x.x/sedocConverter

Windows

Linux

임포트 모듈 (실행파일)

Windows : sedocConverter.exe, 각종 dll

Linux : sedocConverter_exe

...

3.1.1 <script>와 <link> tag를 사용하여 js파일과 css파일을 include하세요.

Info
title3.1.2501 버전 이상에서 css파일 include 방법

style 설정 매뉴얼을 참고합니다.


Code Block
languagejs
themeEmacs
linenumberstrue
<link href='synapeditorSynapEditor/synapeditor.min.css' rel='stylesheet' type='text/css'>
<script src='synapeditorSynapEditor/synapeditor.config.js'></script>
<script src='synapeditorSynapEditor/synapeditor.min.js'></script>

...

Code Block
languagexml
themeEmacs
linenumberstrue
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
<title>Synap Editor | Unlimited Rich Text Editor</title>

<link href="synapeditorSynapEditor/synapeditor.min.css" rel="stylesheet" type="text/css">
<script src="synapeditorSynapEditor/synapeditor.config.js"></script>
<script src="synapeditorSynapEditor/synapeditor.min.js"></script>
<script>
function initEditor() {
	var se = new SynapEditor("synapEditor", synapEditorConfig);
}
</script>
<body onload="initEditor();">
	<div id="synapEditor" style="height:700px;"></div>
</body>
</html>

3.1.4 HTML form tag를 사용하여 작성된 내용을 저장하세요.

...

Code Block
languagexml
themeEmacs
linenumberstrue
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
<title>Synap Editor | Unlimited Rich Text Editor</title>
<link href="synapeditorSynapEditor/synapeditor.min.css" rel="stylesheet" type="text/css">
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="synapeditorSynapEditor/synapeditor.config.js"></script>
<script src="synapeditorSynapEditor/synapeditor.min.js"></script>
<script>
$(document).ready(function() {
	var se = new SynapEditor("synapEditor", synapEditorConfig);
 
	$('#seform').on('submit', function() {
		$('#editor').val( se.getPublishingHtml() );
		return true;
	});
});
 
</script>
<body>
	<div style="height:700px;">
		<div id="synapEditor"></div>
	</div>
	<form id="seform" name="seform" action="/save" method="post">
		<textarea id="editor" style="display:none"></textarea>
		<input type="submit" value="SAVE"/>
	</form>
</body>
</html>

...

Code Block
languagejs
themeEmacs
linenumberstrue
<link href='synapeditorSynapEditor/synapeditor.min.css' rel='stylesheet' type='text/css'>
<script src='synapeditorSynapEditor/synapeditor.config.js'></script>
<script src='synapeditorSynapEditor/synapeditor.min.js'></script>

...

Code Block
languagexml
themeEmacs
linenumberstrue
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
<title>Synap Editor | Unlimited Rich Text Editor</title>

<link href="synapeditorSynapEditor/synapeditor.min.css" rel="stylesheet" type="text/css">
<script src="synapeditorSynapEditor/synapeditor.config.js"></script>
<script src="synapeditorSynapEditor/synapeditor.min.js"></script>
<script>
function initEditor() {
	var se = new SynapEditor("synapEditor", synapEditorConfig);
}
</script>
<body onload="initEditor();">
	<div style="height:700px;">
		<textarea id="synapEditor"></textarea>
	</div>
</body>
</html>


textarea에 내용이 있을 경우 해당 내용으로 에디터가 초기화 됩니다. 릴리즈 2.12.0 이상


Code Block
languagexml
themeEmacs
linenumberstrue
<div>
<textarea id="synapEditor"><p>사이냅에디터를 초기화 합니다.</p></textarea>


...

Code Block
languagexml
themeEmacs
linenumberstrue
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
<title>Synap Editor | Unlimited Rich Text Editor</title>
<link href="synapeditorSynapEditor/synapeditor.min.css" rel="stylesheet" type="text/css">
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="synapeditorSynapEditor/synapeditor.config.js"></script>
<script src="synapeditorSynapEditor/synapeditor.min.js"></script>
<script>
$(document).ready(function() {
	var se = new SynapEditor("synapEditor", synapEditorConfig);
});
</script>
<body>
	<form id="seform" name="seform" action="/save" method="post">
	<div style="height:700px;">
		<textarea id="synapEditor"></textarea>
		<input type="submit" value="SAVE"/>
	</form>
</body>
</html>

...


	</div>
		<input type="submit" value="SAVE"/>
	</form>
</body>
</html>


4. 에디터 작성 내용 저장 및 불러오기

4.1 에디터 작성 내용 저장 

getPublishingHtml()

에디터에 작성된 내용을 HTML 형식으로 가져옵니다.

에디터의 내용을 DB나 html 파일로 저장 시에 사용합니다.

Code Block
languagejs
themeEmacs
linenumberstrue
var html = editor.getPublishingHtml();

4.2 에디터 내용 불러오기

openHTML()

HTML을 에디터에 보여줍니다.

DB나 html 파일의 내용을 에디터에 보여줄 시 사용합니다.

Code Block
languagejs
themeEmacs
linenumberstrue
var html = "<H1>Synap Editor</H><P>Holistic Rich Text Editor</P>";
editor.openHTML(html);

5. 플러그인 및 외부모듈 적용

사이냅 에디터에서 제공하는 다양한 플러그인들을 아래와 같이 적용 할 수 있습니다. 플러그인에 대한 상세한 정보는 플러그인 페이지를 참고하세요.

...

Code Block
languagexml
themeEmacs
linenumberstrue
<!DOCTYPE html>
<html lang="ko">

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
<title>Synap Editor | Unlimited Rich Text Editor</title>

<!-- Synap Editor -->
<link href="synapeditorSynapEditor/synapeditor.min.css" rel="stylesheet" type="text/css">
<script src="synapeditorSynapEditor/synapeditor.config.js"></script>
<script src="synapeditorSynapEditor/synapeditor.min.js"></script>


<!-- Synap Editor Plugins -->
<!-- 도형편집기 / v2.8.0 이후 지원 -->
<script src="synapeditorSynapEditor/plugins/shapeEditor/shapeEditor.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/shapeEditor/shapeEditor.min.css">
<!-- 개인정보보호 -->
<script src="synapeditorSynapEditor/plugins/personalDataProtection/personalDataProtection.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/personalDataProtection/personalDataProtection.min.css">
<!-- 특수기호/이모지 -->
<script src="synapeditorSynapEditor/plugins/characterPicker/characterPicker.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/characterPicker/characterPicker.min.css">
<!-- 웹접근성 검사 -->
<script src="synapeditorSynapEditor/plugins/webAccessibilityChecker/webAccessibilityChecker.min.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/webAccessibilityChecker/webAccessibilityChecker.min.min.css">
<!-- 포토에디터 -->
<script src="synapeditorSynapEditor/plugins/tuiImageEditor/tuiImageEditor.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/tuiImageEditor/tuiImageEditor.min.css">
<!-- 가로줄 확장 -->
<script src="synapeditorSynapEditor/plugins/horizontalLineExtension/horizontalLineExtension.min.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/webAccessibilityChecker/webAccessibilityChecker.min.min.css">
<!-- 인용문구 확장 -->
<script src="synapeditorSynapEditor/plugins/quoteExtension/quoteExtension.min.min.js"></script>
<link rel="stylesheet" href="synapeditor/plugins/quoteExtension/quoteExtension.min.min.css">

<!-- Synap Editor Externals -->
<script type="text/javascript" src='synapeditorSynapEditor/externals/formulaParser/formula-parser.min.js'></script>
<!-- v2.8.0 이후 지원 -->
<script type="text/javascript" src='synapeditorSynapEditor/externals/SEDocModelParser/SEDocModelParser.min.js'></script>
<!-- v2.8.0 이후 지원 -->
<script type="text/javascript" src='synapeditorSynapEditor/externals/SEShapeManager/SEShapeManager.min.js'></script>

<!-- CodeMirror -->
<script type="text/javascript" src='synapeditorSynapEditor/externals/codeMirror/codemirror.min.js'></script>
<script type="text/javascript" src="synapeditorSynapEditor/externals/codeMirror/xml.min.js"></script>
<link rel='stylesheet' href='synapeditorSynapEditor/externals/codeMirror/codemirror.min.css'>

<script>
function initEditor() {
	var se = new SynapEditor("synapEditor", synapEditorConfig);
}
</script>
<body onload="initEditor();">
	<div style="height:700px;">
		<div id="synapEditor"><"></div>
	</div>
</body>
</html>


Code Block
languagejs
themeEmacs
titlesynapeditor.config.js
linenumberstrue
{
'editor.toolbar': [
    //...,
    'personalDataProtection',
    'specialCharacter', 'emoji',
    'tuiImageEditor',
    'WebAccessibilityChecker',
    //...
],
}

...

6. 임포트 및 업로드 API 설정

이미지, 동영상, 파일 업로드 및 문서(doc, docx, hwp, xls, xlsx) 임포트 처리를 위해 환경설정 파일에 임포트 및 업로드 API 경로를 설정합니다.

...

기타 메뉴 및 툴바 설정 등 환경설정에 대한 자세한 내용은 환경설정을  참고해주세요.


7. 임포트 기능 동작 환경 

임포트 기능 동작 환경 및 최소 사양은 다음과 같습니다.

  • RedHat Enterprise, Fedora, Ubuntu, CentOS 등 커널 2.6.32 이상의 리눅스 배포판 (GLIBC 2.14 이상)
  • Windows 10 이상
  • Microsoft Windows Server 2012 / 2012 R2 / 2016