KR20200025473A - 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인 - Google Patents

커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인 Download PDF

Info

Publication number
KR20200025473A
KR20200025473A KR1020180102877A KR20180102877A KR20200025473A KR 20200025473 A KR20200025473 A KR 20200025473A KR 1020180102877 A KR1020180102877 A KR 1020180102877A KR 20180102877 A KR20180102877 A KR 20180102877A KR 20200025473 A KR20200025473 A KR 20200025473A
Authority
KR
South Korea
Prior art keywords
printer
printer filter
custom
filter
manager
Prior art date
Application number
KR1020180102877A
Other languages
English (en)
Inventor
이상민
최미경
Original Assignee
휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. filed Critical 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Priority to KR1020180102877A priority Critical patent/KR20200025473A/ko
Priority to CN201980028891.2A priority patent/CN112106019A/zh
Priority to US17/049,427 priority patent/US20210072938A1/en
Priority to EP19856008.8A priority patent/EP3762816A4/en
Priority to PCT/KR2019/000183 priority patent/WO2020045768A1/en
Publication of KR20200025473A publication Critical patent/KR20200025473A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1277Print workflow management, e.g. defining or changing a workflow, cross publishing using filter pipeline, e.g. outside the driver, adding traps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1227Printer definition files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

프린터 필터 파이프라인을 구성하는 장치는 프로세서 및 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리를 포함한다. 프로세서는 명령어들을 실행하여, 프린터 필터 파이프라인 매니저를 구동하여, 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩하고, 커스텀 프린터 필터 매니저를 구동하여, 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 커스텀 프린터 필터를 로딩한다.

Description

커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인{Printer filter pipeline comprising custom printer filter}
프린터 드라이버는 인쇄 작업 대상을 프린터가 인쇄 작업을 할 수 있는 형태로 바꾸어주는 오퍼레이팅 시스템의 일부로서, 응용 애플리케이션에서 프린터로 전달되는 명령어를 프린터 제어를 위한 명령어로 변환하여 전달해주는 프로그램이다.
프린터는 종류 및 모델에 따라 동작 방식이 상이하므로, 벤더(vendor)가 제공하는 프린터 드라이버는 프린터의 종류 및 모델에 따라 다를 수 있다. 따라서, 프린터를 이용하여 인쇄 작업을 하기 위해서는 프린터를 제어하는 장치에 각 프린터에 대응되는 프린터 드라이버가 설치되는 것이 필요하다.
도 1은 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치와 화상 형성 장치를 포함하는 프린팅 환경을 설명하기 위한 도면이다.
도 2는 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치와 화상 형성 장치의 구성을 설명하기 위한 블록도이다.
도 3은 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치의 프로세서에서의 동작을 설명하기 위한 도면이다.
도 4는 일 예에 따른 프린터 필터 파이프라인을 구성하는 과정을 설명하기 위한 도면이다.
도 5는 일 예에 따른 프린터 필터 컨피규레이션 파일을 설명하기 위한 도면이다.
도 6은 일 예에 따른 커스텀 프린터 필터 컨피규레이션 정보를 설명하기 위한 도면이다.
도 7은 일 예에 따른 프린터 필터 파이프라인을 구성하는 과정을 설명하기 위한 도면이다.
도 8은 일 예에 따른 프린터 필터 파이프라인을 구성하는 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아울러 본 명세서 및 도면에서 실질적으로 동일한 기능 구성을 가진 구성 요소에 대해서는 동일 부호를 붙임으로써 중복 설명을 생략한다.
도 1은 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치(200)와 화상 형성 장치(100)를 포함하는 프린팅 환경을 설명하기 위한 도면이다.
화상 형성 장치(100)는 프린터, 복합기, 복사기 등을 통칭하는 것으로서, 사용자가 결정한 인쇄 작업 대상에 대해 인쇄 작업을 수행할 수 있다. 화상 형성 장치(100)가 인쇄 작업을 수행하기 위해서는 화상 형성 장치(100)가 인쇄를 할 수 있는 형태로 인쇄 작업 대상이 전달되어야 한다. 이를 위해, 사용자는 화상 형성 장치(100)를 제어하는 장치, 예를 들어, PC에서 프린터 드라이버를 구동하여 인쇄 작업 대상을 화상 형성 장치(100)가 인쇄할 수 있는 형태로 만들어 화상 형성 장치(100)로 전송할 수 있다.
프린터 필터 파이프라인을 구성하는 장치(200)는 화상 형성 장치(100)를 제어하는 장치이거나 화상 형성 장치(100)를 제어하는 장치에 포함된 형태일 수 있다.
도 2는 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치(200)와 화상 형성 장치(100)의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 일 실시예에 따른 화상 형성 장치(100)는, 사용자 인터페이스 장치(110), 프로세서(120), 메모리(130), 통신 인터페이스(140) 및 화상 형성 작업부(150)를 포함할 수 있다. 또한, 도시되지는 않았으나, 화상 형성 장치(100)는 각 구성들에 전원을 공급하기 위한 전원부를 더 포함할 수도 있다.
사용자 인터페이스 장치(110)는 사용자로부터 화상 형성 작업의 수행을 위한 입력 등을 수신하기 위한 입력부와, 화상 형성 작업의 수행 결과 또는 화상 형성 장치(100)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 사용자 인터페이스 장치(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함한 터치 스크린 형태일 수 있다.
프로세서(120)는 화상 형성 장치(100)의 전체적인 동작을 제어하며, CPU 등과 같은 적어도 하나의 프로세싱 유닛을 포함할 수 있다. 프로세서(120)는 사용자 인터페이스 장치(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 화상 형성 장치(100)에 포함된 다른 구성들을 제어할 수 있다. 프로세서(120)는 각 기능에 대응되는 특화된 프로세싱 유닛을 적어도 하나 포함하거나, 하나로 통합된 형태일 수 있다.
프로세서(120)는 메모리(130)에 저장된 프로그램을 실행시키거나, 메모리(130)에 저장된 데이터 또는 파일을 읽어오거나, 새로운 파일을 메모리(130)에 저장할 수도 있다.
메모리(130)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(120)는 메모리(130)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(130)에 저장할 수도 있다. 또한, 프로세서(120)는 메모리(130)에 설치된 프로그램을 실행할 수도 있다. 또한, 프로세서(120)는 통신 인터페이스(140)를 통해 외부로부터 수신한 애플리케이션을 메모리(130)에 설치할 수도 있다.
통신 인터페이스(140)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신 인터페이스(140)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태일 수도 있고, 또는 통신에 필요한 정보를 포함하는 스티커/바코드(e.g. NFC tag를 포함하는 스티커)등일 수도 있다.
무선 통신은, 예를 들어, Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band), NFC(Near Field Communication) 등이 될 수 있다. 유선 통신은, 예를 들어, Ethernet, USB, HDMI(High Definition Multimedia Interface) 등이 될 수 있다
통신 인터페이스(140)는 화상 형성 장치(100)의 외부에 위치한 외부 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 통신 인터페이스(140)는 외부 장치로부터 수신된 신호 또는 데이터를 프로세서(120)로 전달하거나, 또는 프로세서(120)에서 발생된 신호 또는 데이터를 외부 장치로 전송할 수 있다. 예를 들어, 통신 인터페이스(140)가 외부 장치로부터 인쇄 명령 신호 및 인쇄 작업 대상을 수신하면, 프로세서(120)는 수신된 인쇄 작업 대상을 인쇄부(151)를 통해 출력할 수 있다.
화상 형성 작업부(150)는 인쇄, 스캔 또는 팩스 등의 화상 형성 작업을 수행할 수 있다. 도 2를 참조하면, 화상 형성 작업부(150)는 인쇄부(151), 스캔부(152) 및 팩스부(153)를 포함하는 것으로 도시되었는데, 필요에 따라서 이들 중 일부 구성만을 포함하거나, 또는 다른 종류의 화상 형성 작업 수행을 위한 구성을 더 포함할 수도 있다.
인쇄부(151)는 전자 사진 방식, 잉크젯 방식, 열전사 방식 및 감열 방식 등 다양한 인쇄 방식에 의하여 기록매체에 화상을 형성할 수 있다. 스캔부(152)는 원고에 광을 조사하고, 반사되는 광을 수광하여 원고에 기록된 화상을 읽어들일 수 있다. 팩스부(153)의 경우, 화상을 스캔하기 위한 구성은 스캔부(152)와 공유할 수 있고, 수신한 파일을 인쇄하기 위한 구성은 인쇄부(151)와 공유할 수 있으며, 스캔 파일을 목적지로 전송하거나, 외부로부터 파일을 수신할 수 있다.
일 실시예에 따른 프린터 필터 파이프라인을 구성하는 장치(200)는 메모리(210), 프로세서(220), 통신 인터페이스(230)를 포함할 수 있다. 프린터 필터 파이프라인을 구성하는 장치(200)는 화상 형성 장치(100)를 제어하는 장치일 수 있다.
메모리(210)는 프로세서(220)에 의해 실행 가능한 명령어들을 저장할 수 있다. 메모리(210)는 오퍼레이팅 시스템 및 응용 프로그램들을 저장할 수 있다.
프로세서(220)는 메모리(210)에 저장된 명령어들을 실행하여, 프린터 필터 파이프라인을 구성할 수 있다. 프린터 필터는 프린터가 인쇄 작업을 수행할 수 있도록 인쇄 작업 대상에 대해 소정의 프로세싱을 수행할 수 있다. 프린터 필터는 종류에 따라, 각각 다른 종류의 프로세싱을 수행할 수 있다. 예를 들어, 프린터 필터는 N-up 프린터 필터, 워터마크/오버레이 프린터 필터, 렌더링 프린터 필터 등이 있을 수 있다. 인쇄 작업 대상은 프린터 필터 파이프라인 즉, 일련의 프린터 필터들을 순차적으로 거침에 따라, 프린터가 인쇄를 할 수 있는 최종 형태로 변경될 수 있다.
예를 들어, 프로세서(220)는 프린터 필터 파이프라인 매니저를 구동하여, 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션(configuration) 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩할 수 있다. 프로세서(220)는 프린터 필터 컨피규레이션 파일에 기초하여, 프린터 드라이버가 제공하는 프린터 필터들과 커스텀 프린터 필터 매니저의 동작 순서에 따라, 프린터 필터들을 커스텀 프린터 필터 매니저와 함께 로딩할 수도 있다. 프로세서(220)는 커스텀 프린터 필터 매니저를 구동하여, 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 커스텀 프린터 필터를 로딩할 수 있다. 프로세서(220)는 프린터 필터 및/또는 커스텀 프린터 필터를 로딩함으로써, 프린터 필터 파이프라인을 구성할 수 있다.
통신 인터페이스(230)는 프린터 필터 파이프라인을 구성하는 장치(200)에서 프린터 필터 파이프라인에 의해 처리된 인쇄 작업 대상을 화상 형성 장치(100)로 전송할 수 있다.
도 3은 일 예에 따른 프린터 필터 파이프라인을 구성하는 장치(200)의 프로세서(220)에서의 동작을 설명하기 위한 도면이다.
프로세서(220)는 프린터 필터 파이프라인을 구성하기 위해, 프린터 필터 파이프라인 매니저와 프린터 드라이버를 구동할 수 있다. 프린터 필터 파이프라인 매니저는 프린터 필터 파이프라인을 구성하는 프린터 필터들을 관리할 수 있다. 프린터 필터 파이프라인 매니저는 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션 파일에 기초하여, 프린터 필터들을 관리할 수 있다. 프린터 필터 컨피규레이션 파일은 프린터 필터의 정보 및 프린터 필터의 입출력에 관한 인터페이스 정보를 포함할 수 있다. 프린터 필터 파이프라인 매니저는 프린터 필터들을 로딩하고 초기화할 수 있다. 또한, 프린터 필터 파이프라인 매니저는 프린터 필터들 간의 데이터 전달을 관리할 수 있다. 프린터 드라이버는 XPS(XML Paper Specification) 프린터 드라이버가 될 수 있으며, XPS 포맷의 인쇄 작업 대상을 사용할 수 있다. 이하, 도 4 내지 도 7을 참조하여, 프린터 필터 파이프라인 매니저가 프린터 드라이버를 이용하여 프린터 필터 파이프라인을 구성하는 구체적인 과정을 살펴본다.
도 4는 일 예에 따른 프린터 필터 파이프라인을 구성하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 프로세서(220)는 소정의 기능을 담당하는 복수의 세부 모듈을 구동하는 형태로 동작할 수 있다. 도 4에 도시된 바와 같이, 프로세서(220)는 프린터 필터 파이프라인 매니저를 구동하여, 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩할 수 있다. 이때, 프린터 필터 컨피규레이션 파일에 프린터 드라이버가 제공하는 프린터 필터에 관련된 정보가 있으면, 프린터 필터도 함께 로딩할 수 있다.
프린터 필터 컨피규레이션 파일은 프린터 필터 파이프라인을 구성하기 위해 필요한 프린터 필터에 관련된 정보를 가지고 있다. 예를 들어, 프린터 필터 파이프라인에서 프린터 필터들의 순서, 프린터 필터 인터페이스 정보, 각 필터의 입출력 포맷 정보 등이 프린터 필터 컨피규레이션 파일에 포함될 수 있다. 본 실시예에 따르면, 프린터 필터 컨피규레이션 파일은 커스텀 프린터 필터 매니저를 프린터 필터로서 규정해둘 수 있다.
도 5는 일 예에 따른 프린터 필터 컨피규레이션 파일을 설명하기 위한 도면이다.
도 5를 참조하면, 프린터 필터 컨피규레이션 파일의 일부분이 나타나 있다. 도 5에 도시된 프린터 필터 컨피규레이션 파일에는 커스텀 프린터 필터 매니저가 프린터 필터 컨피규레이션 파일에 프린터 필터로서 규정되어 있음을 알 수 있다. 따라서, 프린터 필터 파이프라인 매니저가 프린터 필터 컨피규레이션 파일에 기초하여 프린터 필터를 호출하는 경우, 커스텀 프린터 필터 매너저도 호출될 수 있으며, 인쇄 작업이 수행될 때마다 커스텀 프린터 필터 매니저가 호출될 수 있다.
다시 도 4를 참조하면, 프린터 필터 파이프라인 매니저에 의해 커스텀 프린터 필터 매니저가 로딩되면, 프로세서(220)는 커스텀 프린터 필터 매니저를 구동하여, 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 커스텀 프린터 필터를 로딩할 수 있다. 커스텀 프린터 필터는 사용자에 의해 정의된 프린터 필터로서, 인쇄 작업시 사용자가 원하는 방식으로 인쇄되도록 사용자가 프린터 필터를 개발하여 커스텀 프린터 필터 컨피규레이션 정보에 추가할 수 있다. 즉, 커스텀 프린터 필터는 프린터 드라이버가 배포된 후 사용자에 의해 커스텀 프린터 필터 컨피규레이션 정보에 추가된 것일 수 있다. 다만, 사용자가 원치 않는 커스텀 프린터 필터가 악의적인 목적으로 사용되지 않도록, 커스텀 프린터 필터는 프린터 드라이버의 벤더(Vendor)로부터 인증된 것만 사용하도록 할 수도 있다. 이와 같은 커스텀 프린터 필터 컨피규레이션 정보는 프린터 드라이버에 프러그-인(plug-in)되어 이용될 수 있다.
커스텀 프린터 필터 컨피규레이션 정보는 커스텀 프린터 필터의 정보 및 커스텀 프린터 필터의 입출력에 관한 인터페이스 정보를 포함할 수 있다. 예를 들어, 프린터 필터 파이프라인에서 커스텀 프린터 필터들의 순서, 커스텀 프린터 필터 인터페이스 정보, 각 커스텀 프린터 필터의 입출력 포맷 정보 등이 커스텀 프린터 필터 컨피규레이션 파일에 포함될 수 있다.
도 6은 일 예에 따른 커스텀 프린터 필터 컨피규레이션 정보를 설명하기 위한 도면이다.
도 6을 참조하면, 커스텀 프린터 필터 컨피규레이션 정보는 커스텀 프린터 필터의 종류, 순서, 및 커스텀 프린터 필터의 입출력에 관한 인터페이스 정보를 포함함을 알 수 있다.
도 6에 도시된 커스텀 프린터 필터 컨피규레이션 정보에 따르면, 커스텀 프린터 필터 매니저는 프리-필터(pre-filter)를 확인하고 첫 번째 커스텀 프린터 필터로 "company_watermark.dll"을 로딩할 수 있다. "company_watermark.dll"는 회사의 로고나 문구 등을 XPS 포맷의 인쇄 작업 대상에 추가하는 커스텀 프린터 필터이다. "company_watermark.dll"는 XPS 포맷의 인쇄 작업 대상을 입력받을 인터페이스로 "in_function_id"를 이용하여 COM 인터페이스를 초기화하여 XPS 포맷의 인쇄 작업 대상을 입력받고, "output_function_id"를 이용하여 COM 인터페이스를 초기화하여 프린터 필터 처리가 된 XPS 포맷의 인쇄 작업 대상을 커스텀 프린터 필터 매니저로 출력할 수 있다. 커스텀 프린터 필터 "company_watermark.dll"로부터 받은 XPS 포맷의 인쇄 작업 대상은 프린터 필터 파이프라인 매니저를 통해 전달된 XPS 포맷의 인쇄 작업 대상에 회사의 로고나 문구가 추가된 형태일 수 있다.
커스텀 프린터 필터 매니저는 렌더링 필터(rendering filter)를 확인하고, 두 번째 커스텀 프린터 필터로 "rendering.dll"을 로딩할 수 있다. 커스텀 프린터 필터 매니저는 이전의 프린터 필터, 즉, 첫 번째 커스텀 프린터 필터 "company_watermark.dll"에서 출력된 XPS 포맷의 인쇄 작업 대상을 두 번째 커스텀 프린터 필터인 "rendering.dll"로 전달하고, "rendering.dll"로부터 출력된 XPS 포맷의 인쇄 작업 대상을 그 다음 커스텀 프린터 필터에 전달할 수 있다.
커스텀 프린터 필터 매니저는 포스트-필터(post-filter)를 확인하고, 세 번째 커스텀 프린터 필터로 "Cloud_connect.dll"을 로딩할 수 있다. 커스텀 프린터 필터 매니저는 두 번째 커스텀 프린터 필터 "rendering.dll"에서 출력된 XPS 포맷의 인쇄 작업 대상을 세 번째 커스텀 프린터 필터인 "Cloud_connect.dll"로 전달할 수 있다. "Cloud_connect.dll"은 전달된 XPS 포맷의 인쇄 작업 대상을 클라우드 서버로 업로드할 수 있다.
다시 도 4를 참조하면, 커스텀 프린터 필터 매니저는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 커스텀 프린터 필터 1 내지 3을 로딩할 수 있다. 앞서 도 6을 참조하여 설명한 바와 같이, 커스텀 프린터 필터 매니저는 커스텀 프린터 필터 컨피규레이션 정보를 통해 확인된, 커스텀 프린터 필터들의 순서 및 동작에 기초하여, 커스텀 프린터 필터 1 내지 3을 배치할 수 있다. 도 4에 도시된 바와 같이, 프린터 필터 파이프라인 매니저를 통해 전달된 XPS 포맷의 인쇄 작업 대상은 커스텀 프린터 필터 매니저에 의해, 커스텀 프린터 필터 1으로 입력될 수 있다. 커스텀 프린터 필터 1로부터 출력된 XPS 포맷의 인쇄 작업 대상은 커스텀 프린터 필터 매니저에 의해, 커스텀 프린터 필터 2로 입력될 수 있다. 커스텀 프린터 필터 2로부터 출력된 XPS 포맷의 인쇄 작업 대상은 커스텀 프린터 필터 매니저에 의해, 커스텀 프린터 필터 3으로 입력될 수 있다. 커스텀 프린터 필터 3으로부터 출력된 최종 형태의 XPS 포맷의 인쇄 작업 대상은 포트 모니터로 전달되어, 인쇄 작업을 수행할 화상 형성 장치(100)로 전송될 수 있다.
도 7은 일 예에 따른 프린터 필터 파이프라인을 구성하는 과정을 설명하기 위한 도면이다.
도 7은, 앞서 설명한 도 4의 프린터 필터 파이프라인을 구성하는 과정과 비교해보면, 프린터 필터 파이프라인 매니저가 프린터 필터 4를 더 로딩할 것을 알 수 있다. 다시 말해, 프린터 필터 파이프라인 매니저가 프린터 필터 컨피규레이션 파일에 기초하여, 커스텀 프린터 필터 매니저와 함께 프린터 필터 4를 더 로딩한 경우이다. 프로세서(220)는 프린터 필터 컨피규레이션 파일에 기초하여, 프린터 드라이버가 제공하는 프린터 필터들과 커스텀 프린터 필터 매니저의 동작 순서에 따라, 프린터 필터들을 커스텀 프린터 필터 매니저와 함께 로딩할 수 있다. 프린터 필터 4는 프린터 드라이버가 제공하는 프린터 필터로서, 동작 순서에 따라 커스텀 프린터 필터 매니저와 함께 로딩되었음을 알 수 있다. 도 7에서는 프린터 필터 4만 도시되어 있으나, 하나로 제한되지 않으며, 프린터 필터 컨피규레이션 파일에 규정된 프린터 필터 전체를 로딩할 수 있다.
도 7의 경우, 프린터 필터 파이프라인 매니저를 통해 전달된 XPS 포맷의 인쇄 작업 대상은 커스텀 프린터 필터 매니저에 의해, 커스텀 프린터 필터 1, 커스텀 프린터 필터 2, 커스텀 프린터 필터 3을 순차적으로 통과할 수 있다. 커스텀 프린터 필터 3에서 출력된 XPS 포맷의 인쇄 작업 대상은 커스텀 프린터 필터 매니저에 의해 프린터 필터 파이프라인 매니저로 전달될 수 있다. 프린터 필터 파이프라인 매니저는 커스텀 프린터 필터 3에서 출력된 XPS 포맷의 인쇄 작업 대상을 프린터 필터 4에 전달하고, 프린터 필터 4에서 출력된 최종 형태의 XPS 포맷의 인쇄 작업 대상을 포트 모니터로 전달하여, 인쇄 작업을 수행할 화상 형성 장치(100)로 전송되도록 할 수 있다.
도 8은 일 예에 따른 프린터 필터 파이프라인을 구성하는 방법을 설명하기 위한 흐름도이다.
프린터 필터 파이프라인을 구성하는 장치(200)는 프린터 필터 파이프라인 매니저를 구동하여, 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩할 수 있다.(S 810) 커스텀 프린터 필터 매니저는 프린터 필터 컨피규레이션 파일에 프린터 필터로서 규정된 것일 수 있다. 프린터 필터 파이프라인 매니저는 프린터 필터 컨피규레이션 파일에 기초하여, 프린터 드라이버가 제공하는 프린터 필터들과 커스텀 프린터 필터 매니저의 동작 순서에 따라, 프린터 필터들을 커스텀 프린터 필터 매니저와 함께 로딩할 수도 있다.
프린터 필터 파이프라인을 구성하는 장치(200)는 커스텀 프린터 필터 매니저를 구동하여, 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 커스텀 프린터 필터를 로딩할 수 있다.(S 820) 커스텀 프린터 필터 컨피규레이션 정보는 커스텀 프린터 필터의 정보 및 커스텀 프린터 필터의 입출력에 관한 인터페이스 정보를 포함할 수 있다. 커스텀 프린터 필터는 프린터 드라이버가 배포된 후 사용자에 의해 커스텀 프린터 필터 컨피규레이션 정보에 추가된 것으로, 프린터 드라이버의 벤더(Vendor)로부터 인증된 것일 수 있다.
이와 같은 프린터 필터 파이프라인을 구성하는 방법에 의해 구성된 프린터 필터 파이프라인은 사용자에 따라 맞춤화된 것일 수 있다. 프린터 드라이버를 제공하는 벤더는 화상 형성 장치(100)의 종류 및 모델 별로 각각 하나의 프린터 드라이버를 제공하고, 사용자는 자신이 원하는대로 프린터 필터 파이프라인을 구성하도록 프린터 드라이버를 개발할 수 있다. 이에 따라, 프린터 필터 파이프라인을 구성하는 장치(200)는 사용자의 요구 사항을 만족할 수 있도록, 프린터 필터 파이프라인을 구성하는 프린터 필터들을 동적으로 구성할 수 있다.
한편, 상술한 내용은 컴퓨터 또는 프로세서에 의하여 실행 가능한 명령어 또는 데이터를 저장하는 컴퓨터 판독 가능 저장매체의 형태로 구현될 수 있다. 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터 판독 가능 저장매체를 이용하여 이와 같은 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 이와 같은 컴퓨터 판독 가능 저장매체는 read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있고, 프로세서나 컴퓨터가 명령어를 실행할 수 있도록 프로세서나 컴퓨터에 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 제공할 수 있는 어떠한 장치라도 될 수 있다.

Claims (15)

  1. 프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령어들을 저장하는 메모리;를 포함하고,
    상기 프로세서는, 상기 명령어들을 실행하여,
    프린터 필터 파이프라인 매니저를 구동하여, 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션(configuration) 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩하고,
    상기 커스텀 프린터 필터 매니저를 구동하여, 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 상기 커스텀 프린터 필터를 로딩하는, 프린터 필터 파이프라인을 구성하는 장치.
  2. 제 1 항에 있어서,
    상기 커스텀 프린터 필터 매니저는,
    상기 프린터 필터 컨피규레이션 파일에 프린터 필터로서 규정된 것인, 장치.
  3. 제 1 항에 있어서,
    상기 커스텀 프린터 필터 컨피규레이션 정보는,
    상기 커스텀 프린터 필터의 정보 및 상기 커스텀 프린터 필터의 입출력에 관한 인터페이스 정보를 포함하는, 장치.
  4. 제 1 항에 있어서,
    상기 커스텀 프린터 필터는,
    상기 프린터 드라이버가 배포된 후 상기 사용자에 의해 상기 커스텀 프린터 필터 컨피규레이션 정보에 추가된 것인, 장치.
  5. 제 1 항에 있어서,
    상기 커스텀 프린터 필터는,
    상기 프린터 드라이버의 벤더(Vendor)로부터 인증된 것인, 장치.
  6. 제 1 항에 있어서,
    상기 프로세서는,
    상기 프린터 필터 컨피규레이션 파일에 기초하여, 상기 프린터 드라이버가 제공하는 프린터 필터들과 상기 커스텀 프린터 필터 매니저의 동작 순서에 따라, 상기 프린터 필터들을 상기 커스텀 프린터 필터 매니저와 함께 로딩하는, 장치.
  7. 제 1 항에 있어서,
    상기 프린터 필터 파이프라인은,
    상기 사용자에 따라 맞춤화된(customized) 것인, 장치.
  8. 프린터 필터 파이프라인 매니저가 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션(configuration) 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩하는 단계; 및
    상기 커스텀 프린터 필터 매니저가 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 상기 커스텀 프린터 필터를 로딩하는 단계;
    를 포함하는 프린터 필터 파이프라인을 구성하는 방법.
  9. 제 8 항에 있어서,
    상기 커스텀 프린터 필터 매니저는,
    상기 프린터 필터 컨피규레이션 파일에 프린터 필터로서 규정된 것인, 방법.
  10. 제 8 항에 있어서,
    상기 커스텀 프린터 필터 컨피규레이션 정보는,
    상기 커스텀 프린터 필터의 정보 및 상기 커스텀 프린터 필터의 입출력에 관한 인터페이스 정보를 포함하는, 방법.
  11. 제 8 항에 있어서,
    상기 커스텀 프린터 필터는,
    상기 프린터 드라이버가 배포된 후 상기 사용자에 의해 상기 커스텀 프린터 필터 컨피규레이션 정보에 추가된 것인, 방법.
  12. 제 8 항에 있어서,
    상기 커스텀 프린터 필터는,
    상기 프린터 드라이버의 벤더로부터 인증된 것인, 방법.
  13. 제 8 항에 있어서,
    상기 커스텀 프린터 필터 매니저를 로딩하는 단계는,
    상기 프린터 필터 컨피규레이션 파일에 기초하여, 상기 프린터 드라이버가 제공하는 프린터 필터들과 상기 커스텀 프린터 필터 매니저의 동작 순서에 따라, 상기 프린터 필터들을 상기 커스텀 프린터 필터 매니저와 함께 로딩하는 단계를 포함하는, 방법.
  14. 제 8 항에 있어서,
    상기 프린터 필터 파이프라인은,
    상기 사용자에 따라 맞춤화된(customized) 것인, 방법.
  15. 프린터 필터 파이프라인 매니저가 프린터 드라이버에서 제공하는 프린터 필터 컨피규레이션(configuration) 파일에 기초하여, 커스텀 프린터 필터 매니저를 로딩하는 명령어들; 및
    상기 커스텀 프린터 필터 매니저가 사용자가 정의한 커스텀 프린터 필터에 관련된 정보를 포함하는 커스텀 프린터 필터 컨피규레이션 정보에 기초하여, 상기 커스텀 프린터 필터를 로딩하는 명령어들;
    을 포함하는, 프로세서에 의해 실행 가능한 명령어들로 저장된 컴퓨터 판독 가능 저장매체.
KR1020180102877A 2018-08-30 2018-08-30 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인 KR20200025473A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180102877A KR20200025473A (ko) 2018-08-30 2018-08-30 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인
CN201980028891.2A CN112106019A (zh) 2018-08-30 2019-01-07 包括自定义打印机过滤器的打印机过滤器管道
US17/049,427 US20210072938A1 (en) 2018-08-30 2019-01-07 Printer filter pipeline comprising custom printer filter
EP19856008.8A EP3762816A4 (en) 2018-08-30 2019-01-07 PRESSURE FILTER PIPE WITH CUSTOMIZED PRINTER FILTER
PCT/KR2019/000183 WO2020045768A1 (en) 2018-08-30 2019-01-07 Printer filter pipeline comprising custom printer filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180102877A KR20200025473A (ko) 2018-08-30 2018-08-30 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인

Publications (1)

Publication Number Publication Date
KR20200025473A true KR20200025473A (ko) 2020-03-10

Family

ID=69643236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180102877A KR20200025473A (ko) 2018-08-30 2018-08-30 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인

Country Status (5)

Country Link
US (1) US20210072938A1 (ko)
EP (1) EP3762816A4 (ko)
KR (1) KR20200025473A (ko)
CN (1) CN112106019A (ko)
WO (1) WO2020045768A1 (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136941B2 (en) * 2002-12-04 2006-11-14 Microsoft Corporation Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another
JP2006048537A (ja) * 2004-08-06 2006-02-16 Canon Inc 印刷システム及び印刷処理方法
JP4920879B2 (ja) * 2004-08-06 2012-04-18 キヤノン株式会社 画像処理装置及びデータ処理装置
US7554682B2 (en) * 2004-12-28 2009-06-30 Microsoft Corporation Printer filter configuration
JP4553364B2 (ja) * 2005-02-18 2010-09-29 キヤノン株式会社 印刷システム
JP2009187529A (ja) * 2008-01-09 2009-08-20 Seiko Epson Corp 印刷制御装置、印刷制御装置の情報表示方法および印刷制御装置の情報表示プログラム
US8479192B2 (en) * 2008-06-27 2013-07-02 Xerox Corporation Dynamic XPS filter
KR101432052B1 (ko) * 2008-11-24 2014-08-20 삼성전자주식회사 인쇄 제어 단말장치, 및 인쇄 제어 방법
US20100214599A1 (en) * 2009-02-26 2010-08-26 Konica Minolta Systems Laboratory, Inc. Method for printing with XPSDrv printer driver
US9317225B2 (en) * 2011-05-25 2016-04-19 Xerox Corporation Method and apparatus for dynamically configuring a filter pipeline for a print driver
JP6315965B2 (ja) * 2013-12-10 2018-04-25 キヤノン株式会社 情報処理装置、プログラム及び制御方法

Also Published As

Publication number Publication date
US20210072938A1 (en) 2021-03-11
CN112106019A (zh) 2020-12-18
WO2020045768A1 (en) 2020-03-05
EP3762816A1 (en) 2021-01-13
EP3762816A4 (en) 2021-12-08

Similar Documents

Publication Publication Date Title
US10922130B2 (en) Information processing device for applying changes to a task of a process flow when a dynamically changeable flag is attached to the task
US9135533B2 (en) Information processing apparatus configured to establish a workflow using plugins, information processing method, and computer-readable storage medium performing the same
CN106488057B (zh) 用于生成图像形成作业的工作流的方法和图像形成装置
US9069502B2 (en) System and method for controlling the settings of an imaging forming apparatus
US10528304B2 (en) Server for placing an order based on identification information for identifying a source or purchase, image processing apparatus, and system
US20150309759A1 (en) Terminal apparatus, output system, and output method
JP2017173892A (ja) 情報処理装置、プログラム及び印刷システム
US9681025B2 (en) Non-transitory computer readable recording medium configured to cause a computer of an information processing apparatus to execute a method, the information processing apparatus capable of controlling a peripheral device that performs at least one of an image input operation and an image output operation based on an ICC profile, and corresponding control method
US9473650B2 (en) Image reading apparatus, image reading method, image processing system, and storage medium
KR20200025473A (ko) 커스텀 프린터 필터를 포함하는 프린터 필터 파이프라인
JP6366428B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9922296B2 (en) Distribution apparatus, distribution method, and recording medium
JP2016218887A (ja) 端末装置、プログラム及び出力システム
JP2008271098A (ja) 文書結合装置、文書結合方法および文書結合プログラム
US11115556B2 (en) Work form sharing
KR20230062165A (ko) 화상 형성 장치의 주변 장치의 설치 정보의 제공
JP2012252635A (ja) 印刷制御装置、印刷制御プログラム及び記録媒体
US11144255B2 (en) Information processing apparatus, non-transitory computer readable medium storing information processing program, and information processing method
JP2009212914A (ja) 画像処理装置及び画像処理方法
JP2014056424A (ja) 印刷制御装置、印刷制御方法及び印刷制御システム
JP6248563B2 (ja) 出力システム、端末装置、プログラム、及び出力方法
US20210136245A1 (en) Information processing device, and information processing system
KR20230061768A (ko) 설정 변경을 반영한 어플리케이션의 커스터마이징
JP6000381B2 (ja) 電子機器および情報管理プログラム
JP2019185627A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant