Naja, betrachten wir es mal (mit 'nem Augenzwinkern) von der einfachen Seite:
'ne PDF ist auch nur 'ne Textdatei mit 'nem als (1:n Streams) eingebetteten und komprimierten Inhalt.
Den Text findest Du zwischen
stream und
endstream. (Ok, ob es Text ist oder nicht, erfährst Du erst nach dem Entpacken.)
Davor findest Du eine Zeile mit 'ner Info der Form
<</Filter/FlateDecode/Length 9999>>
Da steht, wie der Stream kodiert ist und wie lang er ist. Du musst ihn also "nur noch" auslesen und dekodieren.
Das könnte mit Hilfe der
ZLib funktionieren:
ZLibCompressDecompress (Delphi)
Diverse Ansätze oder ähnliche Fragestellungen:
<</Filter/FlateDecode/Length
Ansonsten: Die von himitsu bereits herausgesuchten Dokumentationen lesen und in Delphi umsetzen.