プログラム内でPDFを作成したいのですが、
ネットで調べてもPDFの仕様がよく分かりません。

そもそもPDFの仕様は公開されているものですか?
PDFを読むためのツールがいくつもありますが、
実装がいくつもあるということなのでしょうか。

adobeで問題なく見れるPDFを作成するには
adobeが販売しているツールを使わないと無理ですか?
例えばPHPでpdf_new()のような関数で簡単にPDFが作れるようですが、
これは純正adobeのPDFとは異なるものでしょうか。

いくつも質問して申し訳ありませんが、よろしくお願いします。