Przejdź do głównej zawartości

Osadzanie obrazów przez NextPDF Connect

Osadź obraz w pliku Portable Document Format (PDF) za pomocą NextPDF Connect. Jako źródła użyj ścieżki pliku, którą serwer może odczytać, albo wbudowanego identyfikatora URI danych base64. Służą do tego create_pdf, add_image oraz output_pdf — wszystkie są narzędziami Core. NextPDF rysuje obraz jako obiekt XObject obrazu malowany przez operator Do (ISO 32000-2 §8.9).

Okno terminala
composer require nextpdf/server

Skonfiguruj transport. NextPDF obsługuje formaty rastrowe PNG, JPEG i GIF.

add_image przyjmuje source i rozstrzyga jego typ w tej stałej kolejności:

  1. Identyfikator URI danych — ciąg znaków, który zaczyna się od data:. NextPDF dekoduje typ MIME (Multipurpose Internet Mail Extensions) oraz ładunek base64 do pliku tymczasowego, osadza obraz, a następnie usuwa plik tymczasowy.
  2. Surowy base64 — NextPDF dekoduje długi ciąg znaków base64 i traktuje go jako PNG.
  3. Ścieżka pliku — NextPDF traktuje wszystko inne jako ścieżkę w systemie plików, którą proces serwera musi być w stanie odczytać.

Obraz jest umieszczany w punkcie x/y, w jednostkach użytkownika (domyślnie milimetry). Jeśli przekażesz tylko width, NextPDF obliczy wysokość tak, aby zachować proporcje. Jeśli przekażesz zarówno width, jak i height, NextPDF przeskaluje obraz do tych dokładnych wymiarów. Osadzony obiekt to obiekt zewnętrzny malowany w treści strony (ISO 32000-2 §8.8).

NarzędzieRolaPoziom ryzyka
create_pdfOtwarcie sesjiBezpieczne
add_imageOsadzenie obrazu ze ścieżki lub identyfikatora URI danychOstrożnie
output_pdfRenderowanie i zwrócenie PDFWymagane zatwierdzenie / Przegląd (base64)

Katalog narzędzi jest oficjalnym punktem odniesienia. Dostępne narzędzia zależą od zainstalowanej edycji.

  1. create_pdf (A4 pionowo, tytuł) → document_id.
  2. add_image z source ustawionym na ścieżkę bezwzględną, x, y, width.
  3. add_image z source ustawionym na identyfikator URI data:image/png;base64,... oraz jawnie podanymi width i height.
  4. output_pdf → base64.

Użyj identyfikatora URI danych dla obrazu wygenerowanego w pamięci przez host, takiego jak renderowany wykres lub zrzut ekranu. Użyj ścieżki pliku dla zasobu, który już istnieje na serwerze. Zawsze używaj ścieżek bezwzględnych. Ścieżka względna jest rozwiązywana względem katalogu roboczego serwera, który zwykle nie jest katalogiem hosta. Przed dalszym przetwarzaniem sprawdź, czy odpowiedź add_image zgłasza obraz na oczekiwanej stronie.

  • Nie znaleziono ścieżki. Dla brakującej ścieżki pliku zwracany jest błąd nieznalezienia obrazu.
  • Nieobsługiwany format. NextPDF odrzuca SVG, BMP i WebP. Najpierw przekonwertuj obraz.
  • Nieprawidłowy base64 / identyfikator URI danych. Niepoprawny ładunek albo identyfikator URI danych bez separatora w postaci przecinka zwraca błąd dekodowania.
  • Zbyt duży obraz. Obraz większy niż strona jest przycinany przy krawędzi, a nie odrzucany. Oblicz width/height względem strony pomniejszonej o jej marginesy (A4 pionowo to 210×297 mm).

Rozmiar danych wyjściowych rośnie wraz z zawartością obrazu. Dwa małe obrazy mają zazwyczaj 10–50 KB. Osadzanie obrazów ma szerszy budżet niż sam tekst. Ta strona używa profilu structural.

W trybie ścieżki pliku odczyt z systemu plików serwera odbywa się z uprawnieniami procesu serwera. Ogranicz, które ścieżki host może przekazywać. Nie pozwalaj niezaufanym wywołującym wskazywać w source dowolnych plików serwera. Tryb base64 przenosi wbudowane bajty, dzięki czemu nie ujawnia ścieżki serwera.

StwierdzenieSpecyfikacjaKlauzulareference_id
Obraz jest obiektem XObject obrazu malowanym przez Do.ISO 32000-2§8.9
Obrazy są obiektami zewnętrznymi malowanymi w treści strony.ISO 32000-2§8.8

Nie dotyczy — wszystkie narzędzia są zawarte w Core.

TransportDostępnyUwagi
MCP (stdio)TakDuże ładunki base64 powiększają ramkę stdio.
RESTTakW przypadku dużych zasobów preferuj multipart lub ścieżkę na serwerze.
gRPCTakUnary; wbudowanego base64 dotyczą ograniczenia rozmiaru wiadomości.

create_pdf ma poziom Bezpieczne, add_image ma poziom Ostrożnie, a output_pdf ma poziom Wymagane zatwierdzenie — obniżony do poziomu Przegląd w trybie base64. Odczyt w trybie ścieżki odbywa się po stronie serwera i nie podlega osobnej bramce, więc ogranicz go w warstwie zasad (Poziomy ryzyka HITL).

Dane wyjściowe base64 w tym przykładzie:

{ "allowed": true }