Encapsulated PostScript

Encapsulated PostScript (disingkat EPS) adalah suatu format berkas grafik, yang dapat berisikan grafik vektor, teks ataupun bitmap. Suatu berkas EPS pada intinya adalah suatu berkas PostScript yang memenuhi pembatasan tambahan. Batasan-batasan yang dimaksud bertujuan membuat peranti lunak menjadi lebih mudah untuk melakukan embedding berkas EPS dalam suatu dokumen Postscript lain. Sebagaimana Postscript EPS pun mendukung berbagai macam modus pewarnaan, misalnya RGB, Lab, CMYK, Duplex, Warna Berindeks, dan Skala Abu-abu. Selain itu EPS juga menuruni kemampuan PostScript dalam menyajikan berbagai jenis font atau tulisan.
Sebagai syarat minimum, suatu berkas EPS berisikan komentar PostScript yaitu BoundingBox sebagai tambahan dari header PostScript, yang menjelaskan daerah persegiempat tempat grafik digambarkan. Program aplikasi dapat memanfaatkan informasi ini untuk menata letaknya dalam suatu halaman di mana berkas EPS ini akan disisipkan, bahkan bila seandainya program yang bersangkutan tidak dapat melakukan proses render di dalamnya secara langsung.
Berkas-berkas EPS ditandai dengan ekstensi berkas .eps atau .epsf, di mana yang terakhir merupakan kependekan dari Encapsulated PostScript File. Isi dari berkas EPS dituliskan dalam format teks polos sehingga merupakan suatu format yang nyaman untuk dihasilkan oleh suatu program aplikasi buatan sendiri.

Pratayang EPS

Berkas EPS umumnya memiliki gambar pratayang dari isi yang dikandungnya, dengan tujuan untuk ditampilkan secara on-screen. Idenya adalah untuk memperbolehkan adanya suatu pratayang dari hasil keluaran akhir dalam setiap program aplikasi yang dapat menggambarkan suatu bitmap. Tanpa kemampuan pratayang ini para program aplikasi harus secara langsung melakukan proses render data PostScript (PS) di dalam berkas EPS, yang umumnya jauh di luar kemampuan pada kebanyakan mesin-mesin sampai pada saat ini.
Saat pertama kalinya EPS diimplementasikan, satu-satunya jenis mesin yang menggunakan secara luas PostScript adalah mesin-mesin Apple Maccintosh. Mesin-mesin dulunya ini tidak dapat langsung merender PostScript, yang dimunculkan Adobe dengan permasalahan mengenai bagaimana menyediakan imej pratayang saat mengikutsertakan versi aktual PS untuk printer yang bersangkutan. Dalam mesin Mac hal ini dapat dengan mudah diatasi, sebagaimana dalam sistem berkas Mac yang mengikutsertakan dua buah berkas (dikenal sebagai garpu -- forks) yang secara logik direferensikan sebagai satu bagian. Dengan menempatkan Postscript dalam data garpu dan suatu sumber daya (resource) PICT Mac standar dalam sumber daya garpu, kedua imej dapat dipindahkan hampir secara bersamaan tanpa disadari seakan-akan keduanya adalah satu berkas. Umumnya suatu pratayang PICT mengandung suatu bitmap, akan tetapi dapat juga berisikan suatu representasi vektor dari keseluruhan imej, menghasilkan pratayang yang amat berkualitas tinggi.
Sayang tidak ada satupun teknologi-teknolog ini yang eksis di suatu sistem operasi. Akan tetapi saat berhadapan dengan masalah yang sama untuk versi program-program berbasis Microsoft Windows-nya, Adobe memutuskan sebagai gantinya menggunakan suatu berkas TIFF terenkode pada bagian kepala (header) dari suatu berkas PostScript. Kadang, walaupun amat jarang, digunakan pula format WMF (Windows Metafile) sebagai alternatif lain. WMF memiliki kelebihan untuk menyediakan pratayang dalam bentuk vektor. Kedua format PC dari berkas EPS memiliki suatu kelemahan khusus: dikarenakan data, header dan pratayang suatu berkas PostScript berada dalam satu berkas, hal ini akan menyebabkan kesalahan pencetakan (printing errors) bila suatu program yang menangani berkas tersebut tidak cukup mengerti untuk hanya melakukan ekstraksi dari data PostScript.
Format keempat yang dikenal sebagai EPSI mengikutsertakan suatu bitmap pratayang terenkode-ASCII. Format ini mengizinkan hanya pratayang hitam-putih. Cara ini secara umum hanya digunakan dalam sistem opreasi UNIX.
Sayangnya, dengan teradapatnya berbagai cara berbeda guna merepresentasikan pratayang, menyebabkan keterbatasan dari portabilitas. Suatu program aplikasi yang tidak dapat mengintepretasikan suatu pratayang berkas EPS umumnya menampilkan suatu kotak kosong pada layar komputer, akan tetapi mereka tetap dapat mencetaknya dengan benar.
Jenis pratayang yang paling banyak didukung adalah pratayang format Windows dengan sebuah TIFF; program-program yang tetap ingin memiliki unsur portabilitas tinggi harus menjaga agar sesederhana mungkin memanfaatkan format TIFF, menghindari fitur-fitur baru TIFF yang mungkin masih membingungkan.

Meninggalkan pratayang

Tahun-tahun belakangan ini, program-program aplikasi tampak telah memulai untuk tidak mengindahkan bagian pratayang dari berkas EPS, akan tetapi tetap menampilkan pratayang pada layar. Hal ini dicapai dengan melakukan intepretasi PostScript untuk membuat pratayang versi sendiri. Cara ini menjadi mungkin dengan semakin meningkatnya kecepatan pemrosesan komputer-komputer modern dewasa ini; saat EPS pertama kali dirancang cara ini masih jauh dari kemampuan komputer pada saat itu, atau terlalu lambat sehingga cara tersebut tidak diterima.
Program-program aplikasi mungkin akan mempertahankan bagian PostScript untuk pencetakan PostScript, atau sama sekali menghilangkannya, dengan hanya menggunakan data-data PostScript yang telah dikonversi. Cara ini dapat menghilangkan perintah-perintah khusus yang tersembunyi dalam berkas EPS yang ditujukan pada suatu alat (printer) tertentu (device-specific tricks) sehingga akan kemungkinan dapat menimbulkan masalah pada proses pencetakan.
Untungnya, dalam berbagai kasus intepreter dalam berkas PostScript memiliki kualitas rendah, atau terbatas bila dibandingkan dengan intepreter yang terdapat dalam sebuah printer. Hal ini dapat berarti tidak ada pratayang yang ditampilkan, meninggalkan teknologi baru yang tidak jauh lebih berguna dibandingkan yang lama.
Versi saat ini dari Microsoft Office (mulai dari Office 2003) mengikutsertakan cara baru ini.

Isi minimal berkas EPS

Berkas EPS adalah berkas PostScript yang dibatasi, artinya tidak boleh terdapat perintah-perintah PostScript tertentu dan harus terdapat komentar-komentar PostScript tertentu pada bagian kepalanya (header).

Baris pertama

Baris pertama dari berkas EPS harus bertuliskan:
%!PS-Adobe EPSF-3.0
yang menyatakan bahwa berkas tersebut adalah berkas PostScript dengan EPSF versi 3.0 sesuai dengan aturan DSC (Document Structuring Convention) 3.0 atau lebih.

Contoh berkas

Sebagai ilustrasi, berikut ini adalah contoh berkas EPS yang isinya menggambarkan suatu segiempat dengan pojok kiri bawahnya diberi keterangan (llx,lly dan pojok kanan atasnya diberi keterangan (urx,ury)
%!PS-Adobe EPSF-3.0
%%BoundingBox: 0 0 300 300
newpath 
50 50 moveto
250 50 lineto
250 250 lineto
50 250 lineto
closepath
stroke

/Times-Roman findfont
28 scalefont
setfont
newpath
10 20 moveto
((llx,lly)) show

/Times-Roman findfont
30 scalefont
setfont
newpath
190 270 moveto
((urx,ury)) show
sebagaimana ditampilkan dalam gambar . Ukuran berkas EPS tersebut hanya 295 byte, bandingkan dengan ukuran berkas PNG yang bersangkutan, yaitu 1.664 byte (1.6 KB).