기본 콘텐츠로 건너뛰기

파일 리더기 만들기 - pdf를 html로 변환, docx를 pdf로 변환

파일 리더기를 만들고 있다. 우선 rtf와 docx 직접적으로 처리를 하려고 했으나 매우 거지 같아서 pdf로 변환을 거친 후 처리를 하기로 했다. 이번에는 pdf 파일을 html 파일로 바꿔주는 방법, docx파일을 pdf파일로 바꿔주는 방법에 대해서 다뤄보고자 합니다. 우선 pdftohtmljs라는 모듈을 사용할 것인데. 해당 모듈을 사용하기 전에 pdf2htmlex라는 모듈이 설치가 되어야 한다. $ sudo apt - get install pdf2htmlex ubuntu의 경우 위와같이 설치를 해줍니다. $ brew install pdf2htmlex mac의 경우는 brew를 이용하여 설치를 해줍니다. 간혹 맥에서 위처럼 설치중에 아래와 같은 문구가 나타나면서 설치가 진행이 되지 않을 수있습니다. Error: You must `brew link python` before pdf2htmlex can be installed 이럴경우는 아래와 같이 해결이 가능합니다. $ brew link -- overwrite python 위 명령어를 통해 python을 링크를 걸어줍니다. 이게 해당 모듈을 설치를 할 때 python을 사용해서 무엇인가를 하기 위해 link를 걸어주는 것 같습니다. 이제 다시 pdf2htmlex를 설치 해줍니다. $ brew install pdf2htmlex 이제 pdf를 html로 변환해주는 pdftohtmljs를 설치를 해보겠습니다. $ npm install pdftohtmljs var pdftohtml = require ( 'pdftohtmljs' ) ; var converter = new pdftoh...

[css] css로 프린트 방지하기

웹에서 프린트 제어가 불가능 한 줄 알았는데 프린트 클릭 시  스크립트로 해당 이벤트를 받아올 수 있다. 하지만 스크립트를 사용하는 방법은 브라우저마다 작동을 하지 않을 수 있다. 좀 더 찾아보니 css로 인쇄되는 영역을 제어를 해줄 수 있다.  @media print 를 이용하면 된다. < html > < head > < title > print test page < / title > < style > @media print { . np { display : none ; } } < / style > < / head > < body > < div class = "np" > test < / div > < div > test1 < / div > < div > test1 < / div > < div > test1 < / div > < / body > < / html > 위 코드를 보면 np 클래스를 @media print에 넣어주었다. @media print는 인쇄됐을 때의 스타일을 지정을 해주는 것이다.  위에서는 해당 페이지를 인쇄할 때 p를 display : none으로 가려주었다. @media print를 이용하면 좀 더 멋진 인쇄물을 만들 수 ...

[python] working directory설정하는 방법

이번에는 파이썬에서 가끔 삽질을 유도하는 path문제에 대해서 알아보고자 한다. 모듈을 나눠서 개발을 하다보면 서로의 개발환경을 맞추지 않고 작업을 할 수 밖에 없는 경우가 있다. 툴, 파이썬 버전, 등 개인적인 이유에서 셋팅을 맞추지 않고 개발을 시작을 하는 경우가 있습니다. 또한 갑자기 두개의 프로젝트가 갑자기 합쳐져야 하는 경우도 있습니다. (필자는 대부분 이러한 경우때 문제가 발생하였습니다.) 이럴떄 가장 많은 문제가 되는것이 바로 path문제입니다. path도 여러가지 문제가 있을 수 있는데 file을 접근할 떄 생가는 문제에 대해서 다뤄보고자 합니다. import os os . chdir ( os . getcwd () + '/WORKING DIRECTORY' ) 외부 모듈을 가져다가 쓰는 파일에서 해당 코드만 추가시켜주면 간단히 path문제를 해결 할 수 있습니다. 해당 코드는 working directory를 설정하여 절대경로를 고정시켜주는 역할을 합니다. 즉 해당 모듈을 어디에서 호출을 하든 절대경로를 해당 경로로 고정이 됩니다.

[docker] docker commends(run, commit, pull, search, exec, etcs)

docker는 가상머신처럼 기존의 운영체제에서 다른 운영체제를 돌릴 수 있도록 해주는 기술입니다 이번 포스팅에서는 도커의 명령어를 간단하게 정리를 해보도록 하겠습니다. 이미지 확인 $ docker images 이미지 파일 내려받기 $ docker pull [ image] 이미지 파일검색 $ docker search [ image] 컨테이너 생성 후 실행 $ docker run [ image] run명령어는 이미지 파일을 컨테이너를 생성해주어 명령어를 실행을 해주는 명령어 입니다. run명령어를 실행시 해당 이미지 파일이 없다면 pull을 진행을 하게 됩니다 그리고 컨테이너를 만들어 주고 해당 컨테이너를 실행을 시킵니다. 컨테이너는  $ docker ps -a 로 확인이 가능 합니다. ex) 일반 os를 생성하여 bash실행 $ docker run -it ubuntu /bin/bash ex) db같은 서버를 실행 할 경우 $ docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD =[ password] [ 이미지 이름] 좀더 다양한 옵션을 확인할 수 있습니다. e 옵션: 환경변수 설정. p 옵션: 포트포워딩 설정. d 옵션: 데몬모드라고 불리우며, 백그라운드로 실행을 시킵니다. 디비간은 서버를 실행 시킬떈 -d옵션을 주어 백그라운드로 실행을 시켜주어야 해당 세션에서 나와도 정상적으로 작동을 합니다. i, t옵션 : it로 쓰며 bin/bash로 실행을 할 땐 적어주어야 합니다. v 옵션: 호스트와 공유할 디렉토리 설정 컨테이너 확인 $ docker ps -a 실행중인 컨테이너 확인 $ docker ps 컨테이너 실행 $ docker start [ CONTAINER ID] 컨테이너 중지 $ docker stop [ CONTAINER ID] 컨테이너 재시작 $...

[server] ubuntu에 APM을 설치해보자.

시작하기에 앞서서 필자는 docker에 ubuntu 16버전에서 셋팅을 하였습니다. ubuntu 설치 직후와 같은환경. 필자는 도커를 사용했기 때문에 기본포트를 사용하지 않고 10000번 포트로 바꿔서 사용을 할 것입니다. 왜 굳이 10000번을 했냐면?,  왜우기 쉬워서... ㅋㅋ APM설치 ubuntu에 php환경을 셋팅을 해보도록 하곘습니다. 도커에 우분투를 올린것은 우분투를 설치 직후와 같기때문에 패키지, apt-get을 업데이트를 시켜줍니다. apache, php, mysql을 APM이라고 부른다 $ apt-get update $ apt-get upgrade apache2 설치 $ apt-get install apache2 mysql 설치 $ apt-get install mysql-server mysql-client mysql은 설치를 진행중에 관리자 계정의 패스워드를 입력하라는 창이 뜬다. php 설치 $ apt-get install php libapache2-mod-php php-xml php-gd php-mysql apache, mysql 실행하기 $ service apache2 restart * Restarting Apache httpd web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message [ OK ] $...

[server] azure-cli를 이용하여 azure다루기

azure-cli 설치하기 $ npm install -g azure-cli azure-cli설치 확인 및 명령어 확인 버전확인 $ azure --version # 설치 된 azure버전확인 0.10.12 (node: 6.9.2) 명령어 확인 $ azure Microsoft Azure CLI would like to collect data about how users use CLI commands and some problems they encounter. Microsoft uses this information to improve our CLI commands. Participation is voluntary and when you choose to participate your device automatically sends information to Microsoft about how you use Azure CLI. If you choose to participate, you can stop at any time later by using Azure CLI as follows: 1. Use the azure telemetry command to turn the feature Off. To disable data collection, execute: azure telemetry --disable If you choose to not participate, you can enable at any time later by using Azure CLI as follows: 1. Use the azure telemetry command to turn the feature On. To enable data collection, execute: azure telemetry --enable Select y to enable data collection :(y/n) y 설치 직후 azure를 실행하면 위와같은 문구가 뜬다  y...