İçeriğe geç
getnextpdf.com

NextPDF'yi kurun ve ilk PDF'nizi oluşturun

NextPDF, PDF (Portable Document Format) dosyaları oluşturan bir PHP kütüphanesidir. Bu öğreticide onu boş bir klasöre kurar ve ilk tek sayfalık belgenizi oluşturursunuz. Bir terminale ve yaklaşık on dakikaya ihtiyacınız var.

Tek bir betik içeren küçük bir proje oluşturacaksınız: 01-hello.php. Bu betik, kalın bir başlık satırı ve bir paragraf içeren tek bir sayfa oluşturur. Sonucu out/hello.pdf olarak kaydeder. Bu sırada, kurulumunuzun sağlıklı olduğunu doğrulayan iki komut öğrenirsiniz.

Bu sayfa tek bir kurulum yolunu öğretir: boş bir klasör artı motor paketi. Framework adaptörleri, tarayıcı tabanlı işleyiciler ve Python istemcisi gibi başka yollar da mevcuttur. Bunlar Kurulum ve Yolunuzu seçin sayfalarında bulunur. Bugün onlara ihtiyacınız yok.

1. Adım: Bir proje oluşturun ve NextPDF’yi kurun

“1. Adım: Bir proje oluşturun ve NextPDF’yi kurun” başlıklı bölüm

Composer, PHP için paket yöneticisidir. Kütüphaneleri projenize indirir ve bir autoloader oluşturur. Autoloader, kütüphane sınıflarını sizin için bulan küçük bir PHP dosyasıdır; böylece hiçbir zaman uzun include listeleri yazmazsınız.

Bir terminal açın ve şu üç komutu çalıştırın:

Terminal window
mkdir hello-nextpdf
cd hello-nextpdf
composer require nextpdf/core

Composer, paketleri çözümleyip indirirken ilerlemeyi yazdırır. Tam satırlar, Composer sürümünüze ve yerel önbelleğinize göre değişir. Başarılı bir kurulum, hata metni olmadan sona erer ve kabaca şöyle görünür:

./composer.json has been created
Running composer update nextpdf/core
Loading composer repositories with package information
Updating dependencies
Lock file operations: ... installs, 0 updates, 0 removals
...
Generating autoload files

Composer, klasörünüzde üç şey oluşturdu. composer.json, projenizin motora bağlı olduğunu kaydeder. composer.lock, kurduğu tam sürümü sabitler; böylece sonraki bir kurulum aynı kodu çözümler. vendor/ klasörü, vendor/autoload.php dahil indirilen paketleri barındırır. Betiğiniz bu tek dosyayı yükler ve her motor sınıfı kullanılabilir hale gelir.

Composer ayrıca kurulum sırasında PHP yapılandırmanızı denetledi. Motor, ihtiyaç duyduğu PHP eklentilerini bildirir. Eklentiler, PHP’ye gömülü isteğe bağlı modüllerdir. Biri eksikse, Composer sizi bozuk bir kurulumla bırakmak yerine durur ve onun adını verir.

composer.json dosyasının yanında 01-hello.php adında bir dosya oluşturun. Bu eksiksiz programı yapıştırın:

<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
@mkdir(__DIR__ . '/out');
$document = Document::createStandalone();
$document->setTitle('Hello from NextPDF');
$document->addPage();
$document->setFont('helvetica', 'B', 24);
$document->cell(0, 15, 'Hello from NextPDF', newLine: true);
$document->setFont('helvetica', '', 12);
$document->cell(0, 10, 'This page came from a short PHP script and the built-in fonts.', newLine: true);
$document->save(__DIR__ . '/out/hello.pdf');
echo "Wrote out/hello.pdf\n";

Çalıştırın:

Terminal window
php 01-hello.php

Tam olarak tek bir satır görmelisiniz:

Wrote out/hello.pdf

out/hello.pdf dosyasını herhangi bir PDF görüntüleyicide açın. Kalın başlık satırını ve altındaki paragrafı görürsünüz; çoğu görüntüleyici pencere başlığında “Hello from NextPDF” ifadesini gösterir.

Betiği yukarıdan aşağıya inceleyin:

  • require, Composer autoloader’ını yükler; böylece Document sınıfı çözümlenir.
  • @mkdir, out/ klasörünü oluşturur. Baştaki @, klasör zaten varken betiği sessiz tutar; böylece onu tekrar çalıştırabilirsiniz.
  • Document::createStandalone(), yeni bir belge döndürür. Tam olarak bunun gibi kısa komut satırı betikleri için yapılmıştır.
  • setTitle(), görüntüleyicilerin pencere başlığında gösterdiği belge başlığını ayarlar.
  • addPage(), boş bir sayfa ekler ve imleci sol üst köşeye yerleştirir.
  • setFont(), bir yazı tipi ailesi, bir stil ve punto cinsinden bir boyut seçer. Punto, baskıda yazı tipi boyutları için standart birimdir. 'B' kalın, '' ise normal anlamına gelir. helvetica adlı aile gömülüdür; böylece yazı tipi dosyalarına ihtiyacınız olmaz.
  • cell(), imlecin bulunduğu yere bir satır metin yazar. 0 genişliği “sağ kenar boşluğuna kadar uzat” anlamına gelir. newLine: true, sonrasında imleci aşağı taşır; Enter’a basmak gibi.
  • save(), tamamlanmış PDF’yi oluşturur ve diske yazar.

Bir belge, bir dosya üretir. İkinci bir PDF’ye ihtiyaç duyduğunuzda, eskisini yeniden kullanmak yerine yeni bir belge oluşturun.

İki hızlı kontrol, bu kurulumun tek bir betiğin ötesinde de çalışmaya devam edeceğini doğrular.

Önce, PHP’nizin taşıdığı eklentileri listeleyin:

Terminal window
php -m

Listede curl, gd, intl, mbstring, openssl ve zlib öğelerini arayın. Motor bu altısına dayanır. Composer bunları 1. Adım’da zaten denetledi; dolayısıyla hepsi görünmelidir.

İkinci olarak, motorun kendi sağlık kontrolünü çalıştırın:

Terminal window
vendor/bin/nextpdf doctor

Windows’ta bunun yerine vendor\bin\nextpdf doctor çağırın. Komut; PHP sürümünüzü, eklentileri, geçici klasörü ve yapılandırmayı inceler. Her kontrol [OK], [WARN] veya [FAIL] yazdırır ve ardından tek bir genel karar gelir.

Önce Extensions bloğunu okuyun. curl, gd, intl, mbstring, openssl ve zlib adlı altı [OK] satırı, kurulumunuzun bundan sonraki her öğreticiye hazır olduğu anlamına gelir.

Rapor ayrıca motor yeteneklerini listeler. Ücretsiz Core kurulumunda, ticari paketlere ait yetenekler, onları sağlayan paketin adını veren bir mesajla [FAIL] yazdırır. Bu, burada beklenen bir durumdur ve Core yapılandırmanız iyi olsa bile genel kararı UNHEALTHY durumuna çevirebilir. Bu öğreticiler için önemli olan sinyal, Extensions bloğudur.

Önce belirtinizi şu yaygın durumlarla eşleştirin:

  • composer: command not found, Composer’ın eksik olduğu veya PATH’inizde bulunmadığı anlamına gelir. Onu getcomposer.org adresinden kurun, ardından 1. Adım’ı tekrarlayın.
  • Failed opening required '.../vendor/autoload.php', betiğin proje klasörünün dışında çalıştığı veya kurulumun tamamlanmadığı anlamına gelir. 1. Adım’daki klasöre geçin ve composer install çalıştırın.
  • Composer 1. Adım sırasında durur ve eksik bir PHP eklentisinin adını verirse, o eklentiyi php.ini dosyanızda etkinleştirin. php -m ile doğrulayın, ardından kurulumu tekrarlayın.
  • doctor’ın Extensions bloğundaki bir [FAIL] satırı, eksik bir PHP eklentisinin adını verir. Onu php.ini dosyasında etkinleştirin, php -m ile doğrulayın ve doctor’ı yeniden çalıştırın. Ticari bir paketin adını veren yetenek [FAIL] satırları, Core kurulumunda beklenir ve burada herhangi bir işlem gerektirmez.

Başka herhangi bir durum için, sorun giderme bilgi tabanı ile başlayın. Bir betik bir istisna oluşturursa, sınıfını hata referansı içinde arayın; başlangıç düzeyindeki hataların çoğu genel hatalar altında görünür.

Çalışan bir kurulumunuz ve ilk oluşturulmuş dosyanız var. Sayfa boyutlarını, gömülü yazı tiplerini, renkleri ve hizalamayı kontrol etmek için Metin, yazı tipleri ve sayfa temelleri ile devam edin.