MediaPrintableArea
MediaPrintableArea (인쇄 가능 영역)
매체의 인쇄 가능 영역과 비인쇄 영역을 구분하는 데 사용하는 인쇄 속성이에요.
본문
인쇄 가능 영역은 매체의 전체 치수 안에 있는 직사각형으로 지정돼요.
대부분의 프린터는 하드웨어 제약 때문에 매체의 전체 면에 인쇄할 수 없어요. 이 클래스는 예상 인쇄 작업에 대해 허용 가능한 값을 조회하고, 인쇄 작업에서 사용할 인쇄 가능 영역의 제약 안에서 영역을 요청하는 데 사용할 수 있어요.
인쇄 가능 영역을 조회하려면 클라이언트가 적절한 컨텍스트를 제공해야 해요. 적어도 사용 중인 매체의 크기를 지정하지 않으면 의미 있는 인쇄 가능 영역 값을 얻을 수 없어요.
이 속성은 종이 가장자리로부터의 거리로 설명되지 않아요. 한편으로는 이 속성이 특정 매체에 독립적이지 않고 다른 속성 선택의 컨텍스트 안에서 설명되어야 함을 강조하기 위해서예요. 게다가 보통 클라이언트가 인쇄 가능 영역을 사용하는 것이 더 편리해요.
하드웨어의 최소 여백은 단순히 프린터의 속성이 아니라 매체 크기, 방향, 매체 유형, 지정된 후가공의 함수일 수 있어요. PrintService는 적절한 컨텍스트에서 속성의 지원되는 값을 조회하는 메서드를 제공해요. PrintService.getSupportedAttributeValues()를 참고하세요.
직사각형 인쇄 가능 영역은 이렇게 정의돼요: (x,y) 원점은 요청 컨텍스트에서 지정된 방향과 무관하게 세로 모드 용지의 좌상단에 위치해요. 예를 들어 A4 용지의 세로 또는 가로 방향 인쇄 가능 영역은 height > width예요.
인쇄 가능 영역 속성의 값은 내부적으로 마이크로미터(µm) 단위의 정수로 저장돼요. 여기서 1마이크로미터 = 10⁻⁶미터 = 1/1000밀리미터 = 1/25400인치예요. 이렇게 하면 치수를 1/1000mm(= 1µm) 또는 1/100인치(= 254µm)의 정밀도로 정확히 표현할 수 있어요. 분수 인치가 2의 음의 거듭제곱으로 표현되면 치수를 1/8인치(= 3175µm)의 정밀도로 정확히 표현할 수 있지만 1/16인치는 그렇지 않아요(1/16인치가 µm의 정수 배수가 아니기 때문).
IPP 호환성: MediaPrintableArea는 IPP 속성이 아니에요.
필드 요약
- static final int INCH — 인치(in) 단위를 나타내는 값이에요. 실제로는 인치에 곱해 µm를 산출하는 변환 계수(25400)예요.
- static final int MM — 밀리미터(mm) 단위를 나타내는 값이에요. 실제로는 mm에 곱해 µm를 산출하는 변환 계수(1000)예요.
생성자 요약
- MediaPrintableArea(float x, float y, float w, float h, int units) — 부동소수점 값에서
MediaPrintableArea객체를 생성해요.x < 0이거나y < 0,w <= 0,h <= 0,units < 1이면IllegalArgumentException을 던져요. - MediaPrintableArea(int x, int y, int w, int h, int units) — 정수 값에서
MediaPrintableArea객체를 생성해요.x < 0이거나y < 0,w <= 0,h <= 0,units < 1이면IllegalArgumentException을 던져요.
메서드 요약
- float[] getPrintableArea(int units) — 인쇄 가능 영역을
x, y, w, h순서의 4개 값 배열로 가져와요. 반환 값은 주어진 단위로 돼 있어요.units < 1이면IllegalArgumentException을 던져요. - float getX(int units) — 지정된 단위로 인쇄 가능 영역 원점의 x 위치를 가져와요.
- float getY(int units) — 지정된 단위로 인쇄 가능 영역 원점의 y 위치를 가져와요.
- float getWidth(int units) — 지정된 단위로 인쇄 가능 영역의 너비를 가져와요.
- float getHeight(int units) — 지정된 단위로 인쇄 가능 영역의 높이를 가져와요.
- boolean equals(Object object) — 이 매체 여백 속성이 전달받은 객체와 동등한지 여부를 반환해요. 동등하려면
object가 null이 아니고,MediaPrintableArea클래스의 인스턴스이며, 원점과 치수가 같아야 해요. - final Class<? extends Attribute> getCategory() — 이 인쇄 속성 값의 "카테고리"로 사용할 인쇄 속성 클래스를 가져와요.
MediaPrintableArea클래스의 카테고리는MediaPrintableArea클래스 자체예요. - final String getName() — 이 속성 값이 인스턴스인 카테고리의 이름을 가져와요.
MediaPrintableArea클래스의 카테고리 이름은"media-printable-area"예요. 이는 IPP V1.1 속성이 아니에요. - String toString(int units, String unitsName) — 주어진 단위로 이 직사각형 크기 속성의 문자열 버전을 반환해요.
unitsName이 null이면 결과에 단위 이름을 붙이지 않아요.units < 1이면IllegalArgumentException을 던져요. - String toString() — 이 직사각형 크기 속성을 mm 단위로 나타낸 문자열 버전을 반환해요.
- int hashCode() — 이 속성의 해시 코드 값을 반환해요.