토익 성적표가 필요한데 난 프린터가 없어서.. 이걸 PDF로 소장하기 위해 삽질한 기록을 남겨둔다.

인터넷에 여러가지 팁이 있지만, 어째서인지 그게 Windows 7에선 잘 되는데 Windows 8에서는 안 먹히더라 -_- SPL파일 형식이 열어보니 ZIP + XML형식.. 아무래도 OXPS랑 비슷한 구조를 가지고 있어서 그런듯 한데... 어쨌든 의외의 방법으로 성공했다.

일단 준비물:

  • http://lerup.com/printfile/ (SPL Viewer는 "No PCL and Postscript file! Load anyway" 라고 하면서 안 열리지만 이걸로는 잘 된다)
  • 증명서 발급이 가능한 가짜 프린터(대충 고급 프린터 설정(검색에서 찾으세요) -> 원하는 프린터가 없습니다 -> HP나 Canon에서 아무거나 골라 설치하면 된다).

이제 없는 프린터로 TOEIC 성적표를 출력하려고 하면 오류가 나서 당연히 출력이 되지 않는다. 이 때 C:\Windows\System32\Spool\Printers 에 들어가면 XXXXX.SPL과 같은 SPL파일이 있을텐데, 이걸 아무데나 복사해두고, 인쇄를 취소한 다음 토익 성적표 출력 창을 끄자(이 창이 켜져있는 동안엔 ActiveX가 컴퓨터에 큰 장애를 안겨주어 정상적인 작업이 불가능하다).

그 다음에는 PrintFile을 실행하고 Print File을 클릭한 다음 아까의 SPL파일을 클릭하면 출력 대화 상자가 나타나는데, 이 때 한컴의 PDF프린터가 있다면 그걸로 뽑으면 바로 PDF가 되고, 아니라면 MS XPS 프린터로 XPS/OXPS로 뽑은 다음 적당한 인터넷 사이트나 앱(이를테면 맥의 XPS-to-PDF-Lite라든가)을 찾아서 변환하면 된다(XPS로 갖고있어도 뭐.. 윈도우즈에서만 쓸거라면 상관 없고).

신고
  1. cujun 2017.02.07 16:01 신고

    좋은 정보 감사합니다. ^^*
    윈 10에서 MS pdf, XPS writer 또는 Hancom PDF 전부 기본 저장폴더가 "C:\Users\(사용자이름)\문서" 네요. 저장되는 이름 포맷이 Printfile-~.pdf 꼴이니 참고하세염

  2. 우왕 2017.06.09 18:54 신고

    감사합니다 :)

개인적으로 맥북 키보드의 기본 키맵은 꽤나 괜찮다고 생각한다. 하지만.. 키 배열이 다른 외장키보드를 연결할 경우 매우 불편해진다.

이를테면 보통 사용되는 한글 키보드의 경우 스페이스 키 왼쪽에는 CONTROL-COMMAND-OPTION 순서로 키가 매핑되는데, 이게 맥북 기본 키보드의 (FN-)CONTROL-OPTION-COMMAND와 다른 점과, 맥북 키보드의 FN키를 외장 키보드에서 누를 방법이 없는 점이 그렇다(Page up/down이야 직접 키를 누르면 된다고 하자, 화면 밝기 조절이나 볼륨 조절 등은?).

이를 해결할 방법을 찾아보니 거의 모든 답변이 키를 리매핑하는 소프트웨어를 이용하는 것이었는데, 직접 해보니 확실히 편리해지긴 했지만, 그 과정에서 약간의 삽질을 했기 때문에 -_-; 다시 헤매는 일이 없도록 내가 사용한 설정법을 간단하게 적어본다.

1. Karabiner 다운로드 및 설치(https://pqrs.org/osx/karabiner/index.html.en).

2. private.xml 위치 찾기

3. 단순한 키 변환 문법(자세히:https://pqrs.org/osx/karabiner/xml.html.en#autogen-syntax)

키를 다른 키로 바꾸기: 

<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::OPTION_L</autogen>

(왼쪽 CONTROL키를 왼쪽 ALT키로 바꾼다)

키를 다른 키 조합으로 바꾸기: 

<autogen>__KeyToKey__

    KeyCode::OPTION_R,

    KeyCode::SPACE, ModifierFlag::COMMAND_L

</autogen>

(오른쪽 OPTION키를 왼쪽 COMMAND + 스페이스 키로 바꾼다)

키 조합을 다른 키로 바꾸기: 

<!-- LCTRL+LSHIFT+ARROW(R/L) ==> VOLUME UP/DOWN -->

<autogen>__KeyToConsumer__

    KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L,

    ConsumerKeyCode::VOLUME_UP

</autogen>

<autogen>__KeyToConsumer__

    KeyCode::CURSOR_LEFT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L,

    ConsumerKeyCode::VOLUME_DOWN

</autogen>

  *3개 이상의 키 조합의 경우에는 pipe(|)를 이용한다.

키 조합을 다른 키 조합으로 바꾸기: 

<autogen>__KeyToKey__

    KeyCode::SPACE, ModifierFlag::SHIFT_L,

    KeyCode::SPACE, ModifierFlag::COMMAND_L

</autogen>


4. 디바이스 한정 문법

외장 키보드의 키 리맵이 내장 키보드에까지 영향을 주면 불편하기 때문에 키 리맵을 외장 키보드로 입력하는 경우만으로 제한하면 편리하다.

우선 메뉴 바의 사과마크를 클릭, "이 Mac에 관해서"를 선택한 다음, "시스템 리포트"를 눌러 외장 키보드를 찾는다.

<devicevendordef>

    <vendorname>LEOPOLD</vendorname>

    <vendorid>0x0853</vendorid>

</devicevendordef>

<deviceproductdef>

    <productname>FC660C</productname>

    <productid>0x0134</productid>

</deviceproductdef>

그 다음엔 위와 같이 디바이스와 제조사의 정보를 정의한 다음, 아이템에 device_only를 추가하면 된다.

<item>

        <name>FC660C</name>

        <identifier>private.fc660c</identifier>

        <device_only>DeviceVendor::LEOPOLD,DeviceProduct::FC660C</device_only>

 

        ... (키 리맵 정보들)


</item>

5. 예시

<?xml version="1.0"?>

<root>

 

    <devicevendordef>

        <vendorname>LEOPOLD</vendorname>

        <vendorid>0x0853</vendorid>

    </devicevendordef>

 

    <devicevendordef>

        <vendorname>APPLE</vendorname>

        <vendorid>0x05ac</vendorid>

    </devicevendordef>

 

    <deviceproductdef>

        <productname>FC660C</productname>

        <productid>0x0134</productid>

    </deviceproductdef>

 

    <deviceproductdef>

        <productname>AppleInternal</productname>

        <productid>0x0273</productid>

    </deviceproductdef>

 

    <item>

        <name>FC660C</name>

        <identifier>private.fc660c</identifier>

        <device_only>DeviceVendor::LEOPOLD,DeviceProduct::FC660C</device_only>

 

        <!-- CTRL+SHIFT+ARROW ==> VOLUME UP/DOWN -->

        <autogen>__KeyToConsumer__

            KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L,

            ConsumerKeyCode::VOLUME_UP

        </autogen>

 

        <autogen>__KeyToConsumer__

            KeyCode::CURSOR_LEFT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L,

            ConsumerKeyCode::VOLUME_DOWN

        </autogen>

 

        <autogen>__KeyToKey__

            KeyCode::OPTION_R,

            KeyCode::SPACE, ModifierFlag::COMMAND_L

        </autogen><!-- Right Option ==> Kor./Eng. Change -->

 

        <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::OPTION_L</autogen>

        <autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>

        <autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>

 

    </item>

 

    <item>

        <name>Apple::Alt.To.Lang.Chng</name>

        <identifier>private.AppleLangChng</identifier>

        <device_only>DeviceVendor::APPLE,DeviceProduct::AppleInternal</device_only>

        <autogen>__KeyToKey__

            KeyCode::OPTION_R,

            KeyCode::SPACE, ModifierFlag::COMMAND_L

        </autogen><!-- Right Option ==> Kor./Eng. Change -->

    </item>

 

</root> 

*여담인데, 문법이 include를 지원하기 때문에 이 설정 역시 dotfile과 함께 git으로 관리해도 편할 것 같다.

신고

드디어 대학 졸업! 4년은 길다면 길고 짧다면 짧았다. 돌아보면 짧았던 쪽에 더 가까운 것 같지만.

4년  후기를 짧게 요약하면: 대학에 다니기를 정말 잘 했다.
조금 더 길게 요약하면: 대학에서 선배들이랑 친구들 덕분에 정말 많은걸 배웠다(갓갓갓님들...).

그리고 대학내내 실력 향상에 큰 도움이 되었던 Baekjoon Online Judge 최고!

신고

'Random' 카테고리의 다른 글

イロドリ - ClariS  (1) 2017.06.14
사실상 헬조선에 태어난게 중죄  (3) 2016.05.18
졸업  (2) 2016.02.16
블로그 꾸미기  (0) 2016.01.16
SW마에스트로 과정 6기 1단계 후기  (2) 2016.01.04
GMail 전달 기능에 대한 불평  (0) 2015.11.03
  1. cujun 2016.02.19 13:51 신고

    축하드려여 2년뒤에 또 졸업이네여ㅎㅎ

    • kcy1019 2016.02.20 19:37 신고

      감사합니다 ㅎㅎ
      이번 학교를 다니는 것도 좋은 선택이 될 수 있도록 열심히 다닙시다!