Skip to content

PDF20 Spec Annex Q

Marc Jones edited this page Dec 30, 2025 · 1 revision

Annex Q: Page Transparency Detection

Part of: PDF20-Spec-Index

Navigation: PDF20-Spec-Annex-P | PDF20-Spec-Index | Next →


Annex Q (normative) Method for determining transparency on a page Q.1

General

This annex describes the method that PDF processor shall use to determine if a given page contains any graphical elements whose associated graphic state contains transparency or are otherwise involved in a transparency operation. NOTE

Q.2

Some of the subset standards for PDF, such as PDF/X (ISO 15930), PDF/A (ISO 19005), PDF/E (ISO 24517), or PDF/VT (ISO 16612-2) choose to mandate the use of this method because they restrict the processing of documents conforming to those standards to strict processing rules. PDF 2.0 is highly generalized to accommodate various processing needs so this method is not required by this document.

Page content

For each graphical element to be rendered on the page, the graphic state shall be checked for any of the following conditions being present. If they are, then the element is considered involved in transparency and therefore the page contains transparency. •

SMask key is present and its value is of type dictionary;

•

ca key is present and its value is less than one (1);

•

CA key is present and its value is less than one (1);

•

BM key is present and its value is not Normal.

If an element’s graphic state sets a colourspace that is a Type 1 Pattern, then the Pattern resource shall be treated as a form XObject and processed according to Q.3, "Form XObjects". In addition to the graphic state, certain types of graphical elements need additional processing. Any graphical element that represents a form XObject shall be processed according to Q.3, "Form XObjects". Graphical elements associated with image XObjects shall be processed according to Q.4, "Image XObjects". Text elements shall be processed according to Q.5, "Text objects". Since Annotations require an appearance stream which is drawn by a PDF processor on top of the page content, it is possible that their presence may cause a page without any transparency to acquire some transparency. Therefore, all annotations object's in the page dictionary's Annots array shall have their appearance streams processed as a form XObject, according to Q.3, "Form XObjects".

Q.3

Form XObjects

If the XObject’s dictionary contains a Group key, and the value of the S key in the dictionary that forms the value of Group is Transparency, then the XObject is part of a transparency group and any page on which it is placed contains transparency. 982

© ISO 2020 – All rights reserved

ISO 32000-2:2020(E)

NOTE

The above paragraph was clarified (2020).

In addition, the content stream of the form XObject shall be processed according to Q.2, "Page content".

Q.4

Image XObjects

If the XObject’s dictionary contains an SMask key and its value is of type stream, then the image has transparency associated with it and any page on which it is placed contains transparency. If the XObject’s dictionary contains an SMaskInData key whose value is greater than zero (0), then the image has transparency associated with it and any page on which it is placed contains transparency.

Q.5

Text objects

For any graphical element that represents text drawing, its text state shall be checked to determine the type of font being used for rendering. If the Subtype of the font dictionary is Type3, then each object in its CharProc array shall be processed as a form XObject according to Q.3, "Form XObjects".

© ISO 2020 – All rights reserved

983

ISO 32000-2:2020

Bibliography PDF Reference, First Edition, version 1.0 (June 1993), Addison-Wesley, 0-201-62628-4 PDF Reference, First Edition Revised, version 1.1 (March 1996), Adobe Systems Incorporated PDF Reference, First Edition Revised, version 1.2 (November 1996), Adobe Systems Incorporated PDF Reference, Second Edition, version 1.3 (July 2000), Addison-Wesley, ISBN 0-201-61588-6 PDF Reference, Third Edition, version 1.4 (November 2001), Addison-Wesley, ISBN 0-20175839-3 PDF Reference, Fourth Edition, version 1.5 (August 2003), Adobe Systems Incorporated PDF Reference, Fifth Edition, version 1.6 (December 2004), Adobe Press, ISBN 0-321-30474-8 PDF Reference, Sixth Edition, version 1.7 (November 2006), Adobe Systems Incorporated ISO/IEC 9541-1:2012, Information technology – Font information interchange – Part 1: Architecture ISO 14289 (all parts), Document management applications — Electronic document file format enhancement for accessibility (informally known as PDF/UA) ISO 15930 (all parts), Graphic technology — Prepress digital data exchange — Use of PDF (informally known as the PDF/X standards) ISO 19005 (all parts) Document management — Electronic document file format for longterm preservation (informally known as PDF/A) ISO 16612-2, Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2) ISO 24517-1:2008, Document management — Engineering document format using PDF — Part 1: Use of PDF 1.6 (PDF/E-1) International Telecommunications Union, Recommendation BT.709-5 : Parameter values for the HDTV standards for production and international programme exchange. 2002, available at http://www.itu.int/rec/R-REC-BT.709/en Adobe Technical Note #5001, PostScript Language Document Structuring Conventions Specification, Version 3.0, (September 1992), Adobe Systems Incorporated Adobe Technical Note #5044, Color Separation Conventions for PostScript Language Programs, (May 1996) Adobe Systems Incorporated Adobe Technical Note #5088, Font Naming Issues, (April 1993), Adobe Systems Incorporated Adobe Technical Note #5092, CID-Keyed Font Technology Overview, (September 1994), Adobe Systems Incorporated Adobe Technical Note #5094, Adobe CJKV Character Collections and CMaps for CID-Keyed 984

© ISO 2020 – All rights reserved

ISO 32000-2:2020(E)

Fonts, (February 2007), Adobe Systems Incorporated FIPS PUB 140-2, Security Requirements For Cryptographic Modules, (December 2002), Federal Information Processing Standards, https://doi.org/10.6028/NIST.FIPS.140-2 Aho, A. V., Hopcroft, J. E., and Ullman, J. D., Data Structures and Algorithms, Addison-Wesley, Reading, MA, 1983. Includes a discussion of balanced trees. Arvo, J. (ed.), Graphics Gems II, Academic Press, 1994. The section "Geometrically Continuous Cubic Bézier Curves" by Hans-Peter Seidel describes the mathematics used to smoothly join two cubic Bézier curves. Extensible Stylesheet Language (XSL) 1.0, http://www.w3.org/TR/xsl/ Fairchild, M. D., Color Appearance Models, 3rd edition, Wesley-IS&T, Reading, MA, 2013. https://doi.org/10.1002/9781118653128. Covers colour vision, basic colorimetry, colour appearance models, cross-media colour reproduction, and the current CIE standards activities. Updates, software, and colour appearance data are available at http://rit-mcsl.org/fairchild/CAM.html Foley, J. D. et al., Computer Graphics: Principles and Practice, Addison-Wesley, Reading, MA, 1996. (First edition was Foley, J. D. and van Dam, A., Fundamentals of Interactive Computer Graphics, Addison-Wesley, Reading, MA, 1982.) Covers many graphics-related topics, including the mathematics of Bézier cubics and Gouraud shadings. Glassner, A. S. (ed.), Graphics Gems, Academic Press, 1993. The section "An Algorithm for Automatically Fitting Digitized Curves" by Philip J. Schneider describes an algorithm for determining the set of Bézier curves approximating an arbitrary set of user-provided points. Appendix 2 contains an implementation of the algorithm, written in the C programming language. Other sections relevant to the mathematics of Bézier curves include "Solving the Nearest-Point-On-Curve Problem" and "A Bézier Curve-Based RootFinder", both by Philip J. Schneider, and "Some Properties of Bézier Curves" by Ronald Goldman. The source code appearing in the appendix is available via anonymous FTP, as described in the preface to Graphics Gems III (Kirk, D. (ed.), Graphics Gems III, Academic Press, 1994). Green, Phil (Editor), Kriss, Michael (Series Editor), "Color Management: Understanding and Using ICC Profiles", John Wiley & Sons, 2010, https://doi.org/10.1002/9780470688106 (Cf. http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470058250.html) Hunt, R. W. G., The Reproduction of Colour, 6th ed., Wiley, England, 1996. https://doi.org/10.1002/0470024275. A general reference on colour reproduction; includes an introduction to the CIE system. IEEE 754-2019 - IEEE Standard for Floating-Point Arithmetic (IEEE 754-2019), Institute of Electrical and Electronics Engineers, https://standards.ieee.org/standard/754-2019.html Kirk, D. (ed.), Graphics Gems III, Academic Press, 1994. The section "Interpolation Using Bézier Curves" by Gershon Elber contains an algorithm for calculating a Bézier curve that passes through a user-specified set of points. The algorithm © ISO 2020 – All rights reserved

985

ISO 32000-2:2020

uses not only cubic Bézier curves, which are supported in PDF, but also higher-order Bézier curves. The appendix contains an implementation of the algorithm, written in the C programming language. The source code appearing in the appendix is available via anonymous FTP. Lunde, K., CJKV Information Processing, O’Reilly & Associates, Sebastopol, CA, 1999. Excellent background material on CMaps, character sets, encodings, and the like. Microsoft Corporation, TrueType 1.0 Font Files Technical Specification. Available at www.microsoft.com/typography/tt/tt.htm Porter, T. and Duff, T., "Compositing Digital Images", Computer Graphics, Vol. 18 No. 3, July 1984. https://doi.org/10.1145/964965.808606. Computer Graphics is the newsletter of the ACM’s special interest group SIGGRAPH; for more information, see http://www.acm.org PKCS #1 v2.2: RSA Cryptography Standard, RSA Laboratories, October 27, 2012. Scalable Vector Graphics (SVG) 1.1 Specification (Second edition), 16 August 2011, https://www.w3.org/TR/SVG11/ Web Content Accessibility Guidelines 1.0, http://www.w3.org/TR/WAI-WEBCONTENT/ HTML 5, http://www.w3.org/TR/html5/ JDF Specification, Version 1.5 (September 2013). International Cooperation for the Integration of Processes in Prepress, Press and Postpress (CIP4), http://www.cip4.org Unicode Standard Annex #9, Unicode Bidirectional Algorithm. Unicode Consortium Unicode Standard Annex #29, Unicode Text Segmentation. Unicode Consortium RDFa Core 1.1 - Third Edition, http://www.w3.org/TR/rdfa-core/ XHTML 1.0: The Extensible HyperText Markup Language, (August 2002), http://www.w3.org/TR/xhtml1/ Adobe XMP: Extensible Metadata Platform, Part 2: Additional Properties, Adobe Systems Incorporated. Refer to ISO 16684-1 for the XMP core standard. Adobe XMP: Extensible Metadata Platform, Part 3: Storage in Files, Adobe Systems Incorporated. Refer to ISO 16684-1 for the XMP core standard. Cascading Style Sheets Level 1, https://www.w3.org/TR/CSS1/ Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, https://www.w3.org/TR/CSS2/ Cascading Style Sheets Level 3, https://www.w3.org/Style/CSS/. CSS 3 is divided into several separate documents called "modules". ICC Characterization Data Registry, International Color Consortium (ICC), http://www.color.org/registry2.xalter

986

© ISO 2020 – All rights reserved

ISO 32000-2:2020(E) 

ICS 35.240.30; 37.100.99 Price based on 986 pages

© ISO 2020 – All rights reserved




Navigation: PDF20-Spec-Annex-P | PDF20-Spec-Index | Next →

Clone this wiki locally