Document Structuring Conventions, or DSC, is a set of standards for PostScript, based on the use of comments, which primarily specifies a way to structure a PostScript file and a way to expose that structure in a machine-readable way. A PostScript file that conforms to DSC is called a conforming document. The need for a structuring convention arises since PostScript is a Turing-complete programming language. There is thus no guaranteed method — short of actually printing the document — to do things like determining how many pages long a given document is or how large a given page is, or how to skip to a particular page. The addition of structure, with DSC comments exposing that structure, helps provide a way for, e.g., an intelligent print spooler to have the ability to rearrange the pages for printing, or for a page layout program to find the bounding box of a PostScript file used as a graphic image. Collectively, any such program that takes PostScript files as input data is called a document manager. In order for a PostScript print file to properly distill to PDF using Adobe tools, it should conform to basic DSC standards. Some DSC comments serve a second function, specifying a way to tell the document manager to do certain things, like inserting a font or other PostScript code (collectively called resources) into the file. DSC comments that serve this second function are more akin to preprocessing directives and are not purely comments. Documents using those kinds of DSC comments require a functioning document manager to come out as intended; sending them directly to a printer will not work. DSC is the basis for encapsulated PostScript; EPS files are conforming documents with further restrictions. The set of DSC comments can be expanded by a mechanism called the Open Structuring Conventions, which, together with the EPS specification, form the basis of early versions of the Adobe Illustrator Artwork file format. DSC at a glance The basic premise of DSC is the separation of prolog (static definitions) and script (code that affects job-specific printed output), plus the disallowing of certain PostScript operators deemed inappropriate for page descriptions. This ensures a basic level of predictability in the PostScript code, thus forming the basis of document manageability. An optional, additional layer of document manageability is provided by separating the script into a document setup section, zero or more functionally independent pages,