

Medinova PDF İşlem Aracı
MEDİNOVA
Medinova PDF İşlem Aracı

Proje İçeriği
- PARDUS LAMP SERVER
- Tek sunucuda çalışan, istemci tarafı gerektirmeyen (PHP + CLI) PDF yardımcı araçları seti.
Tüm araçlar uploads/ klasörüne alınan dosyaları işler ve çıktıları converted/, jpgs/, zips/ altına kaydeder. İşlem telemetrisi stats.json dosyasına yazılır ve index.php üzerinden özetlenir.
Ana Sayfa (index.php)
- Formlar: Tüm araçlara tek sayfadan erişim.
- CSRF koruması: session_start() + her forma <input type="hidden" name="csrf" ...>.
- Günlük/İstatistik: stats.json okunur, bugünün işlemleri tabloya dökülür.
- Grafikler: Chart.js ile Bu ay için:
- Pasta (pie): Tür dağılımı → compress / merge / cutter / pdf2jpg / rotate / pdf2word
- Çizgi (line): Günlük toplam işlem & compress MB tasarrufu
- Bağlantılar: Çıktı dosyaları için indir linkleri.
- Bağımlılıklar PHP 7 uyumlu (sunucunda PHP 7 çalışıyor). CLI paketleri: Genel: php-xml php-mbstring qpdf (rotate/cutter/merge için önerilir) sudo apt-get install -y qpdf pdftk-java (rotate için yedek, tüm sayfalar modunda) sudo apt-get install -y pdftk-java poppler-utils (pdfinfo, pdftoppm) – pdf-to-jpg ve sayfa sayımı sudo apt-get install -y poppler-utils LibreOffice (PDF→Word görünüm odaklı) sudo apt-get install -y libreoffice-writer Pandoc + pdftohtml (PDF→Word metin odaklı boru hattı) sudo apt-get install -y pandoc OCR (isteğe bağlı): ocrmypdf + tesseract-ocr (+ tesseract-ocr-tur) sudo apt-get install -y ocrmypdf tesseract-ocr tesseract-ocr-tur Ghostscript (compress.php kullanan tipik motor) sudo apt-get install -y ghostscript Not: Bazı scriptler alternatif araçlarla da çalışacak şekilde yazılmıştır (örn. merge). Kurulum / İzinler sudo mkdir -p /var/www/html/pdf/{uploads,converted,jpgs,zips} sudo chown -R www-data:www-data /var/www/html/pdf sudo chmod -R 775 /var/www/html/pdf Apache/PHP oturumları için (Debian/Pardus): php -i | grep session.save_path sudo ls -ld /var/lib/php/sessions # www-data yazabiliyor olmalı Güvenlik Tüm POST formlarında CSRF token (session tabanlı). Yükleme sırasında MIME doğrulama (application/pdf). İndirme rotalarında sadece basename() kullanımı ile path traversal engeli. Geçici dosyalar işlem sonrasında silinir. Bakım & Temizlik Temizlik scripti: cleanup-pdf-tool.sh (örnek) 3 günden eski dosyaları silmek için cron: # Her gece 02:30'da çıktı/ara klasörlerini temizle 30 2 * * * /var/www/html/pdf/cleanup-pdf-tool.sh >> /var/log/pdf-tools-cleanup.log 2>&1 Sorun Giderme İndirme 404 / boş yanıt: İzinler ve dosya yolunu kontrol edin (converted/ altında var mı?). “Call to undefined function …”: PHP 7 ortamında PHP 8 fonksiyonları yoktur. Kodlar PHP 7’ye uyarlanmıştır (örn. pathinfo() ile uzantı tespiti). Dönüşüm başarısız: İlgili CLI’nin kurulu olup olmadığını kontrol edin (which qpdf, which soffice, which pandoc, which pdftoppm, which ocrmypdf). Hızlı Bağlantılar Ana sayfa: index.php Döndürme: pdf-rotate.php (indirme: ?download=rotated-<id>.pdf) PDF→Word: pdf-to-word.php (indirme: ?download=pdf2word-<id>.<ext>) Diğer araçlar: compress.php, cutter.php, merge.php, pdf-to-jpg.php
Projenin Amacı
Regülasyona tabi olmamız sebebiyle bazı PDF dokümanlarını e-mail ortamında mail gönderme boyutunu aşmayacak şekilde işlememiz gerekiyordu. Hali hazırda online siteler üzerinden bu işlemler yapılabiliyordu. Fakat bu da verilerin dışarı çıkması anlamına geliyordu. Bazı açık kaynak github projeleri olsa da bedava peynir fare kapanında olur misali onu da kurmak istememiştik.
Ağustos 2025 tarihinde idari işler evrak kayıt birimimizin bir kaç defa bu konuda isterinden dolayı projesi intranet ortamın da tasarladık.
Proje içindeki en büyük inovasyon nedir? (yeni bir teknoloji veya var olan teknolojinin farklı kullanımı gibi. IOT, M2M, AI vb.)
Kesinlike milli ve yerli işletim sistemi Pardus'un sunucu çözümü.
Proje kurum içindeki hangi bölüme fayda sağlamıştır?(satış, pazarlama, finans, İK, IT, Üretim, Planlama, Satın alma, Lojistik Müşteri İlişkileri gibi)
İdari İşler Evrak Kayıt ve Hukuk Birimi
Projenin hayata geçirilmesi konusunda üst yönetimin desteğini tam olarak alabildiniz mi?
Yöneticilerimiz her zaman tam destek olmuşlardır.
Proje sonunda ortaya çıkan sonuçları analiz edebildiniz mi? Rakamsal verilerle ifade eder misiniz?(ROI, maliyetlerde yüzdesel azalma, üretim süresinde azalma, hata payının düşmesi vs.)
Proje sonunda aylık istatistik alabiliyoruz. Hatta bunu günlük olarak revize ettik. Sonuçlar harika.
Projenizde şirket içinden kaç kişi aktif olarak görev almıştır? Ekip birimleri hakkında kısaca bilgi verir misiniz?
2
Projenizde (varsa)işbirliği kurduğunuz veya destek aldığınız bilişim şirketlerini belirtiniz.
-
Proje sırasında kullandığınız ve spesifik önemi olan markaları (varsa) belirtiniz. (Yazılım veya donanım markaları)
Tamamı açık kaynak ürünler.