Lewati ke konten

Menyematkan gambar dengan NextPDF Connect

Sematkan gambar ke dalam berkas Portable Document Format (PDF) dengan NextPDF Connect. Gunakan path berkas yang dapat dibaca oleh server atau data URI base64 inline sebagai sumbernya. Alurnya menggunakan create_pdf, add_image, dan output_pdf — semuanya merupakan perkakas Core. NextPDF merender gambar tersebut sebagai image XObject yang dilukis oleh operator Do (ISO 32000-2 §8.9).

Terminal window
composer require nextpdf/server

Ikat sebuah transport. NextPDF mendukung format raster PNG, JPEG, dan GIF.

add_image menerima source dan memprosesnya menurut urutan tetap berikut:

  1. Data URI — string yang diawali dengan data:. NextPDF mendekode tipe Multipurpose Internet Mail Extensions (MIME) dan muatan base64 ke berkas sementara, menyematkannya, lalu menghapus berkas sementara tersebut.
  2. base64 mentah — NextPDF mendekode string base64 yang panjang dan memperlakukannya sebagai PNG.
  3. Path berkas — NextPDF memperlakukan input lainnya sebagai path pada sistem berkas yang harus dapat dibaca oleh proses server.

Gambar muncul pada x/y, dalam satuan pengguna (milimeter secara baku). Berikan width saja, dan NextPDF menghitung tinggi untuk mempertahankan rasio aspek. Berikan width dan height, dan NextPDF menskalakan gambar ke dimensi persis tersebut. Objek yang disematkan merupakan objek eksternal yang dilukis ke dalam konten halaman (ISO 32000-2 §8.8).

PerkakasPeranTingkat risiko
create_pdfMembuka sesiAman
add_imageMenyematkan gambar dari path atau data URIPerhatian
output_pdfMerender dan mengembalikan PDFPersetujuan Diperlukan / Tinjauan (base64)

Katalog perkakas adalah katalog rujukan resmi. Perkakas yang tersedia bagi Anda bergantung pada tier yang terpasang.

  1. create_pdf (A4 portrait, judul) → document_id.
  2. add_image dengan source diatur ke path absolut, x, y, width.
  3. add_image dengan source diatur ke URI data:image/png;base64,... serta width dan height yang eksplisit.
  4. output_pdf → base64.

Gunakan data URI untuk gambar yang dihasilkan host di dalam memori, seperti hasil render bagan atau tangkapan layar. Gunakan path berkas untuk aset yang sudah ada di server. Selalu gunakan path absolut. Path relatif diselesaikan terhadap direktori kerja server, yang biasanya bukan direktori milik host. Sebelum melanjutkan, pastikan bahwa respons add_image melaporkan gambar pada halaman yang diharapkan.

  • Path tidak ditemukan. Path berkas yang hilang mengembalikan galat gambar tidak ditemukan.
  • Format tidak didukung. NextPDF menolak SVG, BMP, dan WebP. Konversikan gambar terlebih dahulu.
  • base64 / data URI yang cacat. Muatan yang tidak valid, atau data URI yang tidak memiliki pemisah koma, mengembalikan galat dekode.
  • Gambar berukuran terlalu besar. Gambar yang lebih besar daripada halaman dipotong pada tepinya, bukan ditolak. Hitung width/height berdasarkan ukuran halaman setelah dikurangi margin (A4 portrait berukuran 210×297 mm).

Ukuran keluaran bergantung pada konten gambar. Dua gambar kecil umumnya berukuran 10–50 KB. Anggaran untuk penyematan gambar lebih longgar daripada anggaran untuk teks saja. Halaman ini menggunakan profil structural.

Mode path berkas membaca dari sistem berkas server dengan hak istimewa proses server. Batasi path yang boleh diberikan oleh host. Jangan biarkan pemanggil yang tidak tepercaya mengarahkan source ke sembarang berkas server. Mode base64 membawa byte secara inline, sehingga menghindari paparan path server.

PernyataanSpesifikasiKlausareference_id
Gambar adalah image XObject yang dilukis oleh Do.ISO 32000-2§8.9
Gambar merupakan objek eksternal yang dilukis ke dalam konten halaman.ISO 32000-2§8.8

Tidak berlaku — semua perkakas sudah termasuk dalam Core.

TransportTersediaCatatan
MCP (stdio)YaMuatan base64 yang besar memperbesar bingkai stdio.
RESTYaMultipart atau path server lebih disarankan untuk aset berukuran besar.
gRPCYaUnary; batas ukuran pesan berlaku untuk base64 sebaris.

create_pdf bersifat Aman, add_image bersifat Perhatian, dan output_pdf bersifat Persetujuan Diperlukan — diturunkan menjadi Tinjauan dalam mode base64. Pembacaan dalam mode path terjadi di sisi server dan tidak memiliki gerbang terpisah, jadi batasi pada lapisan kebijakan (tingkat risiko HITL).

Keluaran base64 di sini:

{ "allowed": true }