PDFTranslate / pdf2zh /pdfcolor.py
sanbo
update sth. at 2024-11-26 16:15:47
9b0f4a0
raw
history blame
977 Bytes
import collections
from typing import Dict
from pdf2zh.psparser import LIT
LITERAL_DEVICE_GRAY = LIT("DeviceGray")
LITERAL_DEVICE_RGB = LIT("DeviceRGB")
LITERAL_DEVICE_CMYK = LIT("DeviceCMYK")
# Abbreviations for inline images
LITERAL_INLINE_DEVICE_GRAY = LIT("G")
LITERAL_INLINE_DEVICE_RGB = LIT("RGB")
LITERAL_INLINE_DEVICE_CMYK = LIT("CMYK")
class PDFColorSpace:
def __init__(self, name: str, ncomponents: int) -> None:
self.name = name
self.ncomponents = ncomponents
def __repr__(self) -> str:
return "<PDFColorSpace: %s, ncomponents=%d>" % (self.name, self.ncomponents)
PREDEFINED_COLORSPACE: Dict[str, PDFColorSpace] = collections.OrderedDict()
for name, n in [
("DeviceGray", 1), # default value first
("CalRGB", 3),
("CalGray", 1),
("Lab", 3),
("DeviceRGB", 3),
("DeviceCMYK", 4),
("Separation", 1),
("Indexed", 1),
("Pattern", 1),
]:
PREDEFINED_COLORSPACE[name] = PDFColorSpace(name, n)