Portable Document Format (.pdf)

ISO Standardi

The Portable Document Format (PDF) is a ubiquitous digital paper standard designed to present documents consistently independent of application software, hardware, and operating systems.

Muunna tiedostot muodosta PDF muotoon DOCX

Ilmainen selaimen sisäinen PDF - DOCX-muunnin. Muunna tiedostoja välittömästi laitteellasi.

Pakkaa PDF verkossa

100% yksityinen selaimessa – tiedostot eivät koskaan poistu laitteeltasi

Tarkastele ja metatiedot

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PDF-tiedostot tarkistamalla tiedoston alun binäärisarjan:

Valitse tai vedä tiedostoja

Valitse tai pudota tiedostot tähän

100 % yksityinen selaimen sisäinen muunnos - tiedostot eivät poistu laitteeltasi

tai liitä Ctrl+V
Tietosuojatakuu: 0 % verkkosiirtoa 0 tavua ladattu ulkoisille palvelimille. Kaikki käsittely tapahtui paikallisesti selaimen hiekkalaatikossa.

Tavutason otsikon allekirjoitus (Magic Bytes)

Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat PDF-tiedostot tarkistamalla tiedoston alun binäärisarjan:

HEX-ALLEKIRJOITUS (OFFSET 0):

25 50 44 46

ASCII-ESITYSTAPA: %PDF

Standardointi: ISO 32000-1 (2008) / ISO 32000-2 (2020)

Tekniset tiedot

SäiliöarkkitehtuuriBinary/ASCII hybrid object hierarchy with cross-reference table
PakkausFlateDecode (Deflate), DCTDecode (JPEG), CCITT Fax, JBIG2, JPXDecode
Tavujärjestys (Endianness)Big-Endian (network byte order) for binary object streams
VäriavaruudetsRGB, Display P3, DeviceCMYK, Grayscale, Spot Colors (Pantone)
Kanavat ja rakenneMulti-layer vector, typography, raster streams, and embedded metadata
Suurimmat mitat200 x 200 inches (UserUnit allows up to 15,000,000 inches in PDF 1.6+)
LäpinäkyvyysFull alpha transparency, blend modes, and opacity masks
Suoratoisto ja progressiivinen latausLinearized PDF ('Fast Web View') allows byte-range streaming via HTTP Range requests

Tekninen vertailumatriisi: PDF vs. kilpailijat

Tekninen attribuuttiPDF (Nykyinen)DOCXEPUBHTML5
Visual Layout FidelityPixel-perfect fixed geometric layout across all screens and printersFlow-based; varies across Word versions and installed fontsReflowable reader layout; no fixed typography guaranteesFluid CSS box model; screen-dependent rendering
Self-Containment100% self-contained with embedded fonts, raster streams, and vector assetsSelf-contained XML container (system fonts usually un-embedded)Self-contained ZIP container (packaged XHTML/CSS assets)Requires external HTTP resources unless packaged via MHTML
Cryptographic SignaturesNative PAdES and X.509 cryptographic digital signatures built into ISO specOffice XML DSig digital signatures supportedRequires custom digital container signaturesRequires Web Crypto API or external TLS transport guarantees
Mobile ResponsivenessFixed-page canvas (requires zooming and panning on small screens)Excellent responsive text reflowEngineered specifically for fluid mobile e-readingNative responsive layout with CSS media queries
StandardizationOpen International Standard (ISO 32000-2:2020)ECMA-376 / ISO/IEC 29500W3C / IDPF Open StandardW3C Living Standard / WHATWG

Yleiset korruptiotilat ja heksatietojehdotusopas

⚠️ Acrobat or PDF viewer reports 'The file is damaged and could not be repaired' or opens completely blank.

Perussyy: FTP or HTTP transfer in ASCII mode converted binary byte sequences (replacing 0x0A with 0x0D 0x0A), mangling the cross-reference (xref) table byte offsets.

Korjaus: Modern PDF repair utilities (e.g. qpdf --repair or File2File repair) rescan the file linearly, rebuild the object dictionary, and regenerate a new xref table.

⚠️ PDF viewer fails to load the document or crashes on the last page.

Perussyy: Truncated download or incomplete disk write missing the '%%EOF' marker and trailer dictionary.

Korjaus: Inspect file tail using 'tail -c 128 document.pdf'. If missing %%EOF, verify if the root catalog object exists and append an artificial xref table pointing to the highest valid object number.

⚠️ Embedded fonts render as illegible symbols, blank blocks (.notdef), or question marks.

Perussyy: Non-embedded subset fonts referencing system fonts that are missing on the viewing machine, or corrupted ToUnicode CMap tables.

Korjaus: Re-embed missing font subsets via Ghostscript (gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf) or convert text elements to vector curves.

Turvallisuusanalyysi ja jäsenninhyökkäysvektorit

PDF is one of the most complex formats in computing, featuring active scripting, embedded files, and dynamic streams. Modern browsers sandbox PDF renderers (e.g. Chrome PDFium) in isolated processes.

Tunnetut hyökkäysvektorit

  • Embedded Acrobat JavaScript (JS API) executing arbitrary code or phishing exploits upon document open.
  • Launch Actions (/Launch) configured to execute external system binaries or shell scripts.
  • Font rendering vulnerabilities in legacy Type 1 and TrueType font parsing engines triggering buffer overflows.
  • Server-Side Request Forgery (SSRF) and NTLM hash credential theft via malicious URI actions (/URI) or form submissions.

Parhaat puolustuskäytännöt: Never open untrusted PDFs with Adobe Acrobat JavaScript execution enabled. For web viewing, always render via browser sandboxed WebAssembly/PDF.js engines, or convert untrusted PDFs to sanitized PDF/A-1b documents.

Historia ja virstanpylväät

2020ISO 32000-2:2020 released, formalizing modern PDF 2.0 enhancements.
2008Adobe transfers PDF specifications to the International Organization for Standardization as ISO 32000-1.
1993PDF 1.0 launched alongside Adobe Acrobat, supporting text, links, and fonts.
1991Dr. John Warnock initiates the Camelot Project at Adobe to solve digital document portability.

Tärkeimmät edut

  • 100% universal visual fidelity across all devices, operating systems, and printers.
  • Supports digital cryptographic signatures, redaction annotations, and DRM access permissions.
  • Combines vector graphics, scalable fonts, and compressed raster streams into a single self-contained container.

Tekniset rajoitukset

  • Fixed-layout page canvas makes automatic responsive reflowing on small smartphones challenging.
  • Complex internal object stream hierarchy can lead to bloated file sizes without compaction and unreferenced object elimination.
  • Embedded JavaScript and dynamic launch action capabilities present an expansive attack surface.

Mielenkiintoisia teknisiä faktoja

  • The original Camelot project paper envisioned printing documents electronically from any application directly to any display.
  • Every PDF file ends with the exact string '%%EOF' marking the end-of-file trailer.
  • Federal courts and national archives globally mandate PDF/A (ISO 19005) for long-term legal preservation.

Usein kysytyt tekniset kysymykset

Why do PDF files look identical on every screen and printer?

PDF specifies absolute Cartesian coordinates (points at 1/72 of an inch) for every glyph, vector curve, and raster image on a fixed page canvas. Because fonts, vector paths, and color profiles are embedded directly in the container, rendering does not depend on local system fonts or printer drivers.

What is the difference between standard PDF and PDF/A?

PDF/A (ISO 19005) is a specialized subset designed for long-term archiving. It strictly bans features that could compromise future readability, such as JavaScript, external font linking, encryption, sound/video embedding, and device-dependent color spaces. All fonts and color profiles must be 100% embedded.

How does PDF compression work in modern documents?

PDF uses multiple discrete compression filters tailored to content types. Text, vector commands, and font metrics are compressed using FlateDecode (zlib/deflate). Photographic images use DCTDecode (JPEG) or JPXDecode (JPEG 2000), while bi-level monochrome scanned text uses JBIG2 or CCITT Fax Group 4 compression.

Why does a PDF file often stay large even after deleting pages or images?

When modifying a PDF, many editors perform an 'incremental update'—they append new object streams and a new xref table to the end of the file without deleting the old objects, allowing fast undo. To actually reduce the file size, the document must undergo an optimization pass that garbage-collects unreferenced objects.