Màu sắc, profile, và vì sao màu đỏ của bạn không phải màu đỏ của tôi
Spec: ISO 32000-2, §8.6ISO 32000-2 §8.6Spec: ISO 15930, PDF/XISO 15930 PDF/X
Tổng quan nhanh
Phần tiêu đề “Tổng quan nhanh”Một màu trong PDF không phải là một cảm nhận cố định. Nó là một chỉ dẫn, và việc chỉ dẫn đó có tạo ra cùng một màu đỏ trên laptop, trên điện thoại và trên máy in hay không phụ thuộc hoàn toàn vào cách màu được mô tả. Trang này nói về sự khác biệt giữa một màu chỉ đơn thuần báo cho thiết bị phải làm gì và một màu nói rõ nó thực sự phải trông như thế nào.
Vì sao điều này quan trọng
Phần tiêu đề “Vì sao điều này quan trọng”Chọn một màu đỏ thương hiệu. Đặt nó một lần. Bây giờ hãy nhìn nó trên một màn hình văn phòng rẻ tiền, rồi trên một điện thoại OLED trong phòng sáng, rồi trên bản in lấy ra từ máy in offset. Ba màu đỏ. Đôi khi là ba màu đỏ khác nhau rõ rệt. Không ai thay đổi con số; con số chưa bao giờ là toàn bộ câu chuyện.
Với một tài liệu thông thường, điều này chỉ đáng nhún vai cho qua. Nhưng với một logo, một nhãn hàng chịu quy định, một bức ảnh trong catalogue, hay một bản ghi cần tồn tại hàng thập kỷ, một màu bị trôi là một khiếm khuyết. Cái giá phải trả không hề trừu tượng: đó là một lần in lại, một bản proof bị từ chối, hoặc một kho lưu trữ mà các trang không còn khớp với bản gốc. Cách khắc phục không phải là một con số tốt hơn. Đó là nói lên sự thật về việc con số ấy có nghĩa là gì.
Tóm tắt ngắn gọn
Phần tiêu đề “Tóm tắt ngắn gọn”- Màu thiết bị đặt tên cho một màu bằng các giá trị điều khiển mà thiết bị
nhận được, nên kết quả là bất cứ thứ gì thiết bị đó tạo ra từ chúng
(Spec: ISO 32000-2, §8.6.4ISO 32000-2 §8.6.4).
DeviceRGB,DeviceCMYKvàDeviceGraylà các không gian màu thiết bị. Cùng con số, khác phần cứng, khác màu. - Màu đã hiệu chuẩn, dựa trên ICC gắn những con số đó với một tham chiếu đã được đo lường, độc lập với thiết bị, thông qua một profile nhúng (Spec: ISO 32000-2, §8.6.5.5ISO 32000-2 §8.6.5.5). Giờ đây tài liệu mang đủ thông tin để tái tạo màu được dự định, chứ không chỉ là một công thức gồm các giá trị điều khiển.
- Một ICC profile là phép ánh xạ đã được đo lường đó: cách các con số của một thiết bị — hoặc của một không gian màu chuẩn hay một điều kiện đầu ra — liên hệ với màu mà mắt người sẽ cảm nhận, được neo vào một không gian kết nối độc lập với thiết bị.
- Một rendering intent là chính sách xử lý khi một màu nằm ngoài tầm với của một thiết bị, bởi không thiết bị nào có thể hiển thị mọi màu.
- Một output intent là việc tài liệu khai báo, ngay từ đầu, điều kiện đầu ra mà nó được chuẩn bị cho (Spec: ISO 32000-2, §14.11.5ISO 32000-2 §14.11.5). Các quy trình in chất lượng cao (PDF/X) và lưu trữ (PDF/A) đều phụ thuộc vào nó.
Cách NextPDF tiếp cận điều này
Phần tiêu đề “Cách NextPDF tiếp cận điều này”Hãy bắt đầu từ phiên bản trung thực của vấn đề. DeviceRGB không chứa một màu.
Nó chứa ba con số nằm giữa 0 và 1 cùng một giả định ngầm rằng một màn hình nào đó
sẽ biến chúng thành ánh sáng. Hai màn hình với đèn nền khác nhau, tấm nền khác
nhau và hiệu chuẩn khác nhau sẽ biến cùng ba con số thành ánh sáng khác nhau một
cách rõ ràng. Đó không phải là lỗi của PDF. Đó là ý nghĩa của “màu thiết bị”, và
tiêu chuẩn nói thẳng về điều này: các không gian màu thiết bị được định nghĩa bởi
các giá trị mà thiết bị nhận, chứ không phải bởi một diện mạo tuyệt đối
(Spec: ISO 32000-2, §8.6.4ISO 32000-2 §8.6.4).
Màu đã hiệu chuẩn khép lại khoảng cách đó bằng cách thêm một tham chiếu. Một ICC profile là kết quả của việc đặc tả hóa một thiết bị hay một không gian màu — một màn hình, một máy in, một máy in công nghiệp, hay một không gian chuẩn như sRGB — và ghi lại cách các con số thô của nó liên hệ với màu trong một không gian kết nối độc lập với thiết bị, gần đúng với thị giác con người. Hãy nhúng profile đó và các con số thôi không còn là một thứ tiếng riêng; chúng trở thành một lời khẳng định được neo vào thứ mà mọi người đều có thể đồng thuận. Đó chính xác là thứ mà một không gian màu dựa trên ICC mang theo (Spec: ISO 32000-2, §8.6.5.5ISO 32000-2 §8.6.5.5): màu, cộng với phép ánh xạ đã đo lường nói rõ nó có nghĩa là gì.
Có một nếp gấp thứ hai, không thể tránh khỏi. Tập hợp các màu mà một máy in có thể in ra không phải là tập hợp mà một điện thoại có thể hiển thị, và cả hai đều không phải là toàn bộ tập hợp mà mắt người có thể thấy. Khi một màu rơi ra ngoài những gì một thiết bị đích có thể tái tạo, phải có một lựa chọn nào đó: cắt nó về màu đạt được gần nhất, hoặc dịch chuyển cả một dải màu cùng nhau để mối quan hệ giữa chúng được giữ nguyên. Lựa chọn đó là rendering intent — một chính sách có chủ đích, được chọn cho từng công việc, chứ không phải một sự tình cờ của việc làm tròn. Một bức ảnh và một logo doanh nghiệp thường muốn những intent khác nhau, bởi một bên quan tâm tới các dải chuyển màu mượt mà còn bên kia quan tâm tới việc bám đúng một mẫu màu chính xác.
Cuối cùng, một tài liệu đang đi đến một nơi cụ thể có thể nói rõ điều đó. Một output intent là việc tệp khai báo điều kiện đầu ra mà nó được chuẩn bị cho — thường là một ICC destination profile nhúng đặt tên cho một điều kiện in hoặc một thiết bị (Spec: ISO 32000-2, §14.11.5ISO 32000-2 §14.11.5). Đó là sự khác biệt giữa việc đưa cho thợ in một tệp và đưa cho họ một tệp nói rằng “tôi được dựng cho máy in này.” Các profile trao đổi bản in bắt buộc điều đó: một tệp PDF/X (họ ISO 15930) buộc phải mang một output intent (Spec: ISO 15930, PDF/XISO 15930 PDF/X), và PDF/A dựa vào cùng cơ chế đó để các màu phụ thuộc thiết bị của một tệp đã lưu trữ vẫn diễn giải được trong tương lai xa, rất lâu sau khi môi trường tạo ra nó không còn nữa.
- Name the colourChoose a colour space. DeviceRGB/CMYK/Gray name control values; an ICC-based space anchors them to a device-independent reference (ISO 32000-2 §8.6).
- Anchor it (optional but decisive)Embed an ICC profile so the numbers carry their measured meaning, not just a device recipe (ISO 32000-2 §8.6.5.5).
- Reconcile to the deviceA rendering intent decides what happens to colours the target device cannot reproduce — clip the nearest, or shift the range to preserve relationships.
- Declare the destinationAn output intent states the output condition the document was prepared for, as PDF/X and PDF/A workflows require (ISO 32000-2 §14.11.5).
Công việc của NextPDF trong chuỗi này là đúng chuẩn: ghi các không gian màu, profile nhúng và output intent theo đúng cách định dạng định nghĩa chúng, để một công cụ phía sau — RIP của máy in, một bộ kiểm định lưu trữ, một trình xem — đọc được đúng những gì đã được dự định. Nó tạo ra các khai báo; nó không giả vờ mình là thiết bị.
Ví dụ thực tế
Phần tiêu đề “Ví dụ thực tế”Hình bên dưới phác họa quyết định, chứ không phải một API cụ thể. Điểm mấu chốt là điểm đến được nêu rõ, chứ không phải đoán.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
/** * Prepare a print-bound document that declares its intended output condition. * * The colour numbers alone do not fix the appearance. Declaring the output * intent — the print condition the file was built for — is what lets a press * interpret those numbers faithfully (ISO 32000-2 §14.11.5). * * @param PdfDocumentInterface $doc A composed document. * @param string $iccProfileBytes The destination ICC profile for the * target print condition. * * @return string The document bytes, carrying a declared output intent. */function prepareForPress( PdfDocumentInterface $doc, string $iccProfileBytes,): string { // Declare the output condition explicitly. The document now states the // device/print condition it was prepared for, instead of leaving its // device colours open to interpretation. $doc->setOutputIntent( identifier: 'Custom press condition', iccProfile: $iccProfileBytes, );
return $doc->output();}Các màu không hề thay đổi. Điều thay đổi là tệp giờ đây nói rõ chúng được dự định trông như thế nào, và đó là thứ duy nhất mà một máy in hay một bộ kiểm định có thể hành động dựa trên.
Hiểu lầm thường gặp
Phần tiêu đề “Hiểu lầm thường gặp”“Cùng một giá trị hex, nên cùng một màu.” Giá trị hex là một tập hợp các giá trị điều khiển thiết bị. Không có profile hay output intent, nó là một công thức mà không chỉ rõ căn bếp — nó sẽ có vị khác nhau ở mỗi căn bếp. Hai tệp có thể mang những con số RGB y hệt nhau mà vẫn là những màu khác nhau một cách trung thực, bởi một tệp khai báo bối cảnh trao ý nghĩa cho các con số còn tệp kia phó mặc cho may rủi.
Một cái bẫy thứ hai: cho rằng DeviceCMYK tự động có nghĩa là “sẵn sàng để in.”
Không phải vậy. CMYK vẫn là màu thiết bị; nó được định hình theo máy in, nhưng nó
chưa được hiệu chuẩn cho đến khi một profile hay output intent đặt tên cho điều
kiện in thực tế.
Giới hạn và ranh giới
Phần tiêu đề “Giới hạn và ranh giới”NextPDF tạo ra màu đúng chuẩn: nó ghi các không gian màu thiết bị và dựa trên ICC, đồng thời khai báo output intent cho các quy trình kiểu PDF/X và PDF/A, theo đúng cách định dạng định nghĩa chúng. Đó là nửa tạo ra của công việc, và là nửa mà một tài liệu có thể sở hữu.
Thứ NextPDF không phải là một hệ thống proofing màu. Nó không đo màn hình của bạn, không soft-proof một máy in trên màn hình, và không chứng nhận rằng kết quả in khớp với một mẫu màu đã dự định trong một dung sai nào đó. Những việc đó thuộc về một chuỗi proofing được quản lý màu và những người vận hành nó. Engine khiến tệp nói lên điều đúng đắn; còn việc thiết bị cuối cùng có tôn trọng nó hay không được quyết định ở phía sau, bởi thiết bị, bởi các ICC profile đang dùng, và — với PDF/X và PDF/A — bởi một bộ kiểm định, chứ không phải bởi bên tạo ra.
Tài liệu liên quan
Phần tiêu đề “Tài liệu liên quan”- What a PDF actually is — mô hình đối tượng mà các không gian màu và output intent này sống bên trong.
- Archival and PDF/A — vì sao việc bảo tồn lâu dài dựa vào màu độc lập với thiết bị và output intent.
- The standards landscape — ISO 32000-2, PDF/X (ISO 15930) và PDF/A (ISO 19005) đứng ở đâu so với nhau.
- PDF 2.0: what changed — cách phiên bản định dạng hiện tại định khung màu sắc và sự tuân thủ.
Thuật ngữ
Phần tiêu đề “Thuật ngữ”- Không gian màu thiết bị — một màu được đặt tên bằng các giá trị điều khiển
mà một thiết bị nhận được (
DeviceRGB,DeviceCMYK,DeviceGray); diện mạo phụ thuộc vào thiết bị diễn giải (ISO 32000-2 §8.6.4). - Màu đã hiệu chuẩn / dựa trên ICC — màu được neo vào một tham chiếu độc lập với thiết bị thông qua một ICC profile nhúng, để diện mạo được dự định có thể tái tạo trên nhiều thiết bị (ISO 32000-2 §8.6.5.5).
- ICC profile — một phép ánh xạ đã được đo lường giữa các con số của một thiết bị cụ thể và một tham chiếu độc lập với thiết bị, gần đúng với thị giác con người.
- Rendering intent — chính sách xử lý các màu mà một thiết bị đích không thể tái tạo: cắt về màu đạt được gần nhất, hoặc dịch chuyển một dải để giữ nguyên mối quan hệ giữa các màu.
- Output intent — khai báo của tài liệu về điều kiện đầu ra mà nó được chuẩn bị cho, thường thông qua một ICC destination profile nhúng (ISO 32000-2 §14.11.5); bắt buộc với PDF/X và được PDF/A sử dụng.
- PDF/X — họ profile trao đổi bản in ISO 15930 của PDF; một tệp PDF/X buộc phải mang một output intent đặt tên cho điều kiện in đích của nó.