Pagination is the process of dividing a document into discrete pages, either electronic pages or printed pages.
In reference to books produced without a computer, pagination can mean the consecutive page numbering to indicate the proper order of the pages, which was rarely found in documents pre-dating 1500, and only became common practice c. 1550, when it replaced foliation, which numbered only the front sides of folios.
Pagination in word processing, desktop publishing, and digital typesetting
Word processing, desktop publishing, and digital typesetting are technologies built on the idea of print as the intended final output medium, although nowadays it is understood that plenty of the content produced through these pathways will be viewed onscreen as electronic pages by most users rather than being printed on paper.
All of these software tools are capable of flowing the content through algorithms to decide the pagination. For example, they all include automated word wrapping (to obviate hard-coded newline delimiters), machine-readable paragraphing (to make paragraph-ending decisions), and automated pagination (to make page-breaking decisions). All of those automated capabilities can be manually overridden by the human user, via soft hyphens (that is, inserting a hyphen which will only be used if the word is split over two lines, and thus not shown if not), manual line breaks (which force a new line within the same paragraph), hard returns (which force both a new line and a new paragraph), and manual page breaks.
Pagination in print
Today printed pages are usually produced by outputting an electronic file to a printing device, such as a desktop printer or a modern printing press. These electronic files may for example be Microsoft Word, PDF or QXD files. They will usually already incorporate the instructions for pagination, among other formatting instructions. Pagination encompasses rules and algorithms for deciding where page breaks will fall, which depend partly on cultural considerations about which content belongs on the same page: for example one may try to avoid widows and orphans. Some systems are more sophisticated than others in this respect. Before the rise of information technology (IT), pagination was a manual process: all pagination was decided by a human. Today, most pagination is performed by machines, although humans often override particular decisions (e.g. by inserting a hard page break).
Pagination in electronic display
An "electronic page" is a term to encompass paginated content in presentations or documents that originate or remain as visual electronic documents. This is a software file and recording format term in contrast to electronic paper, a hardware display technology. Electronic pages may be a standard sized based on the document settings of a word processor file, desktop publishing application file, or presentation software file. Electronic pages may also be dynamic in size or content such as in the case of HTML pages. When end-user interactivity is part of the user experience design of an electronic page, it is better known as a graphical user interface (GUI). The number and size of electronic pages in a document are limited by the amount of computer data storage, not by the display devices or amount of paper.
Most electronic pages are for either display (screen output) on a computer monitor or handheld device, or output to a printing device. PDF and some e-book file format pages are designed to do both. Most applications will print electronic pages without the need for a screen capture. However, not all software supports WYSIWYG printing of pages. Pages exclusively for screen output are more commonly known as screens, windows, interfaces, scenes, or cards. In the case of presentation software, electronic pages are known as slides.
Electronic pages displayed on a web browser are often called web pages, regardless of whether they are accessed online via a web server on the World Wide Web, or stored locally offline. More accurately, such documents are named by the markup language that makes them displayable via a web browser, e.g. "HTML page" or "PHP page". With dynamic web pages, pagination is used for such things as displaying a limited number of results on search engine results pages, or showing a limited number of posts when viewing a forum thread. Pagination is used in some form in almost every web application to divide returned data and display it on multiple pages. Pagination also includes the logic of preparing and displaying the links to the various pages.
Correctly implementing pagination can be difficult. There are many different usability questions such as should "previous" and "next" links be included, how many links to pages should be displayed, and should there be a link to the first and last pages. Also ability to define the number of records displayed in a single page is useful.
Presentation vs. content
Today, all content, no matter which output medium is planned, predicted, or not predicted, can be produced with technologies that allow downstream transformations into any presentation desired, although such best-practice preparation is still far from universal. This usually involves a markup language (such as XML, HTML, or SGML) that tags the content semantically and machine-readably, which allows downstream technologies (such as XSLT, XSL, or CSS) to output them into whatever presentation is desired. This concept is known as the separation of presentation and content. This paradigm is now the conventional one in most commercial publishing, except to the extent that legacy and backward compatibility issues and budget constraints interfere, and to the extent that many of the people involved don't understand the topic enough to help build compliance. But the need to manually paginate has diminished as the technology for dynamic display and automatic pagination advances. Also, there is less need to make a hierarchical distinction between pagination in print and pagination in electronic display, because the same underlying content will most likely be used for the latter exclusively if not for both display methods.
- Mikheev, Oleg (28 August 2007). "Ajax programming with Struts 2". Network World, Inc. Retrieved 6 February 2009.
- Baptiste, Lyndon (30 November 2007). "Perfect PHP Pagination". SitePoint. Retrieved 6 February 2009.
- Gervasio, Alejandro (10 May 2005). "Previous or Next? Paginating Records with PHP – Part 3". Developer Shed. Retrieved 6 February 2009.
- Innovative, Php (3 February 2011). "PHP Pagination from Scratch". InnovativePhp. Retrieved 3 February 2011.