Last Updated: 08 Oct, 2025

Web uygulamalarında PDF’ler ile çalışmak, tüm sektörlerde yaygın bir gereklilik haline geldi. İster faturaları, ister sözleşmeleri veya akademik içerikleri yönetiyor olun, PDF belgelerini Microsoft Word (DOCX) gibi düzenlenebilir formatlara dönüştürebilmek olmazsa olmazdır. Neyse ki, güçlü ve ücretsiz PHP API’lerinin yardımıyla geliştiriciler bu süreci kolayca otomatikleştirebilir ve kolaylaştırabilir.
PDF’yi PHP’de Word’e Neden Dönüştürmeliyiz?
PDF dosyaları, düzenini ve tasarımını koruduğu için dağıtım için mükemmeldir. Ancak, bunları düzenlemek her zaman kolay değildir. Word belgeleri ise son derece düzenlenebilir olduğundan, kullanıcı etkileşimi, güncellemeler veya iş birliği gerektiren görevler için idealdir. PHP tabanlı bir çözüm geliştiricilerin şunları yapmasına olanak tanır:
- Sunucu taraflı toplu PDF’den Word’e dönüştürme
- Web uygulamalarına belge düzenleme iş akışlarını entegre etme
- Rapor oluşturma ve belge işlemeyi otomatikleştirme
- Son kullanıcıların dosyalarının düzenlenebilir sürümlerini indirmelerine olanak tanıma
İşte, minimum kurulumla PDF’den Word’e dönüştürme yapmanıza yardımcı olabilecek en güvenilir ve ücretsiz PHP API’lerinden ve kütüphanelerinden bazıları.
PDF Ayrıştırıcısı ile PHPWord
Dönüştürme süreci üzerinde daha fazla kontrol sahibi olmak için, Word belgeleri oluşturmak ve düzenlemek için kullanılan bir kütüphane olan PHPWord‘ün gücünü bir PDF ayrıştırma kütüphanesi ile birleştirebilirsiniz.
Kod Örneği Açıklaması:
Bu örnek, önce PDF’yi okumak ve her sayfadaki metni çıkarmak için PDFParser kütüphanesini kullanır. Ardından, yeni bir Word belgesi oluşturmak ve çıkarılan metni bu belgeye eklemek için PHPWord’ü kullanır. Bu yöntem, çıktı üzerinde size ayrıntılı bir kontrol sağlayarak metni biçimlendirmenize ve gerektiğinde diğer öğeleri eklemenize olanak tanır.
require_once 'vendor/autoload.php';
// Yeni bir PDF ayrıştırıcı nesnesi oluştur
$parser = new \Smalot\PdfParser\Parser();
// PDF dosyasını ayrıştır
$pdf = $parser->parseFile('path/to/your/document.pdf');
// PDF'den tüm sayfaları al
$pages = $pdf->getPages();
// Yeni bir PHPWord nesnesi oluştur
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Word belgesine bir bölüm ekle
$section = $phpWord->addSection();
// PDF'nin her sayfasında döngü oluştur
foreach ($pages as $page) {
// Sayfadan metni çıkar
$text = $page->getText();
// Metni Word belgesine ekle
$section->addText($text);
}
// Word belgesini kaydet
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('output.docx');
echo "PDF içeriği çıkarıldı ve Word'e başarıyla kaydedildi!";
Spatie PDF-to-Text + PHPWord (Metin Tabanlı Dönüştürme)
PDF dosyalarınız çoğunlukla düz metin içeriyorsa (karmaşık tablolar veya resimler değil), hafif bir dönüştürme hattı için açık kaynaklı kütüphaneler Spatie PDF-to-Text ve PHPWord‘ü birleştirebilirsiniz.
Nasıl Çalışır?
Adobe Acrobat Pro’ya erişiminiz varsa bu en basit yöntemdir.
Adımlar:
Öncelikle, PDF’lerden düz metin çıkaran Spatie\PdfToText API‘yi kullanmanız gerekir.
PHPWord kütüphanesi, çıkarılan içerikle bir Word belgesi oluşturmak için kullanılır.
Karmaşık biçimlendirme gerektirmeyen yalnızca metin içeren PDF’ler için en uygunudur.
İşte, bir PDF dosyasından metnin nasıl çıkarılacağını ve ardından PHPWord kütüphanesi kullanılarak çıkarılan içerikle bir Word belgesinin nasıl oluşturulacağını gösteren bir kod örneği.
PdfReader reader = new PdfReader("form.pdf");
FileOutputStream out = new FileOutputStream("data.fdf");
FdfWriter writer = new FdfWriter();
writer.setField("name", "John Doe");
writer.writeTo(out);
reader.close();
out.close();
Gotenberg, PHP (Açık Kaynaklı Docker Mikro Servisi) aracılığıyla
Gotenberg, HTTP istekleri kullanılarak PHP ile entegre edilebilen açık kaynaklı bir belge dönüştürme mikro servisidir. Docker tabanlı araçları tercih eden geliştiriciler için idealdir.
Nasıl Çalışır?
- Gotenberg, PDF’leri dönüştürmek için arka planda LibreOffice kullanır.
- PDF dosyasıyla birlikte bir POST isteği gönderirsiniz.
- Sunucu, DOCX belgesini döndürür.
Code Snippet (PHP + Gotenberg)
Aspose.PDF Cloud for PHP (Free Tier)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost:3000/forms/libreoffice/convert');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
$data = [
[
'name' => 'files',
'contents' => fopen('input.pdf', 'r'),
'filename' => 'input.pdf'
]
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
file_put_contents('output.docx', $response);
curl_close($ch);
echo "Conversion done via Gotenberg!";
PHP için Aspose.PDF Cloud (Ücretsiz Katman)
Aspose.PDF Cloud PHP SDK, yazılım geliştiricilerin bulut API’lerini kullanarak PDF dosyalarını Word formatına dönüştürmelerine olanak tanıyan güçlü bir PHP SDK’sı sunar. Sınırlı API çağrılarıyla ücretsiz başlayabilirsiniz. İşte yazılım geliştiricilerin PHP komutlarını kullanarak bir PDF dosyasını nasıl yükleyip Microsoft Word DOCX belgelerine dönüştürebileceklerini gösteren basit bir örnek.
Kod Örneği:
use Aspose\Pdf\Cloud\PdfApi;
$pdfApi = new PdfApi('YOUR_APP_KEY', 'YOUR_APP_SID');
$pdfApi->putConvertDocument('sample.pdf', ['format' => 'docx']);
Son Düşünceler
PDF dosyalarını PHP kullanarak Word belgelerine dönüştürmek karmaşık veya pahalı olmak zorunda değil. Doğru ücretsiz araçlar ve kütüphanelerle geliştiriciler, kullanıcılara sorunsuz ve düzenlenebilir belge dışa aktarımları sunabilir, belge otomasyonunu artırabilir ve genel verimliliği artırabilir. İster hafif PHP paketleyicileri ister güçlü bulut tabanlı API’leri tercih edin, ihtiyaçlarınıza uygun bir çözüm mutlaka vardır.
SSS
S: Ücretli API’ler kullanmadan PHP’de PDF’yi Word’e dönüştürebilir miyim?
C: Evet, Spatie, PHPWord ve LibreOffice CLI gibi açık kaynaklı kütüphaneleri ücretsiz olarak kullanabilirsiniz.
S: Açık kaynaklı PDF’yi Word’e dönüştürme, görselleri ve biçimlendirmeyi destekliyor mu?
C: Temel araçlar desteklemez, ancak LibreOffice veya Gotenberg kullanmak düzeni ve görselleri korur.
S: PHP web uygulamalarında PDF’yi DOCX’e dönüştürmeyi otomatikleştirmek mümkün mü?
C: Kesinlikle; bu kütüphaneler herhangi bir PHP tabanlı iş akışına entegre edilebilir.