2013-12-09 3 views
0

Visual Studio 2012 Ultimate with WDK 8을 사용하여 Windows 용 인쇄 모니터/인쇄 처리기를 만드는 데 어려움이 있습니다. 기본적으로 다음과 같이 수행하려고합니다.인쇄 모니터/인쇄 처리기 만들기

  • 기본 XPS 프린터 나 PDF 프린터와 같이 인쇄 할 내용이있는 파일을 생성하는 인쇄 모니터 (응용 프로그램에서 인쇄 할 수있는 것)를 만든 다음 인쇄 처리기를 호출합니다.
  • 생성 된 파일을 구문 분석하고 특정 작업을 수행하는 인쇄 처리기 (특정 텍스트가 있는지 확인하고 온라인으로 파일 업로드 등)

인쇄 처리기 부분이 너무 힘들어서는 안되지만 인쇄 모니터로 시작하는 것이 내가 갇혀있는 것입니다. VS12에서 무엇을 할 수 있습니까? "Printer Driver V4", "Printer Driver V4 Property Bag"및 "Printer XPS Render Filter"옵션을 볼 수 있습니다. 템플릿 중 하나를 사용해야합니까? 그렇다면 그 템플릿 내에서 무엇을 할 수 있습니까? 올바른 방향으로 나를 가리키고있는 무엇이라도 인정 될 것이다!

편집 :

그냥 좀 더 설명 - 난 단지 인쇄 출력의 텍스트를 필요로하지만, 텍스트 전용 출력을 얻는 것은 같은 소스에서 전혀 출력에 이르게 것을 나는 다양한 소스에서 읽은 파이어 폭스 (Firefox) 등. 텍스트를 글립 문자로 인쇄하기 때문에.

인쇄 처리기를 사용하여 키워드 텍스트를 구문 분석 한 다음 해당 정보를 특정 형식의 웹 서버에 업로드합니다. 인쇄 모니터는 인쇄중인 응용 프로그램의 텍스트 정보를 캡처하고 저장해야합니다.

+0

처음부터 시작하겠습니다. 인쇄 데이터를 생성하고 처리하려고한다고 가정합니다. 인쇄 데이터는 다양한 종류로 제공되며, 필요한 데이터가 있으면 처리 방법을 결정합니다. 예를 들어 그래픽이나 텍스트가 필요합니까? 이 출력물을 화면에 표시하고 싶습니까? 코드를 작성하지 말고 목표를 명확히해야합니다. –

+0

더 명확하지 않아서 미안해!기술적으로 필자는 인쇄물의 텍스트 만 있으면되지만 여러 소스에서 파이어 폭스와 같은 출처에서 텍스트 전용 출력을 얻지 않으면 텍스트를 글립 문자로 인쇄하므로 읽었습니다. 나는 그것을 화면에 출력 할 필요가 없다. 키워드 텍스트를 파싱 한 다음 해당 정보를 특정 형식의 웹 서버에 업로드합니다. – Steve

답변

1

의견에서 지적했듯이 Firefox와 같은 일부 응용 프로그램은 문자 대신 그림 문자 색인을 사용하여 인쇄합니다. 실제로, 꽤 많은 일을하고 있으며 점점 더 보편화되고 있습니다. 필요한 것은 프린트 드라이버입니다. 다행히도 Microsoft는 이미 귀하를 위해 작성했으며 WDK에 샘플 소스 코드를 제공했습니다. 먼저 귀하의 옵션을 이해하기 위해 this을 검토하십시오. Unidriver는 좀 더 단순하지만 Postscript 드라이버는 PDF 또는 텍스트 정보를 유지하는 다른 형식 (모든 텍스트 정보를 잃는 래스터 페이지 이미지와 반대)으로 쉽게 변환 할 수있는 출력을 생성 할 수있는 이점이 있습니다. 내가 아는 한 XPS에 대해 생각조차하지 마라. 그것은 재앙의 주변에 단지 있습니다.

글리프 인덱스를 처리하려면 글꼴의 cmap 테이블을 사용하는 드라이버의 OEMTextOut 함수에 코드를 추가하여 문자 인덱스를 문자 코드로 다시 변환하십시오. 글꼴 파일을 파싱하는 공용 도메인 라이브러리를 모르므로이 작업을 수행하기 위해 고유 한 코드를 작성해야 할 것입니다. (힌트 : OpenType/TrueType 글꼴 만 지원하는 경우 모든 인쇄 응용 프로그램의 99 %를 처리하게됩니다.)

Microsoft 샘플 코드를 작성, 설치 및 실행하는 것은 대부분 간단하지만 WDK를 처음 사용하고 인쇄 드라이버를 설치하는 경우에는 1 주일 이상 지출을 계획하십시오. 글리프 인덱스 변환 부분은 훨씬 더 복잡하므로 더 많은 시간을 소비 할 계획을 세워야합니다.