Geçtiğimiz ay bir serbest çalışan arkadaşım fatura oluşturması gerektiğinde, ilk Google sonuçlarında karşılaştığı her aracın kayıt zorunluluğu, e-posta yakalama sistemi veya aylık 12 dolarlık ücretler sunduğunu fark etti. Bu araçların çoğu, form alanlarından PDF oluşturmayı bir "SaaS kategorisi" haline getirmiş durumda. Bu durumdan yola çıkan geliştirici, sadece bir gün içinde üç farklı aracı hayata geçirdi: fatura üreticisi, özgeçmiş oluşturucu ve niyet mektubu hazırlayıcı.
Üç araç da tarayıcınızda çalışıyor. Hiçbir veri cihazınızı terk etmiyor, hesap oluşturmanız gerekmiyor ve üretilen PDF'lerde filigran bulunmuyor. Form alanlarını doldurun, canlı önizlemeyi görün ve temiz bir PDF olarak indirin. İşte bu kadar basit.
Neden var olan araçlar yerine yenilerini geliştirdim?
Geçtiğimiz ay bir serbest çalışan arkadaşım için ücretsiz fatura üreticileri aradığımda, karşılaştığım her aracın ya kayıt zorunluluğu olduğunu, ya tek bir şablonla sınırlı kaldığını, ya PDF'lere marka damgası eklediğini ya da doğrudan bir abonelik sistemine yönlendirdiğini gördüm. Özgeçmiş oluşturucular da benzer bir hikayeydi: Ücretsiz sürümde sadece temel bir şablon sunuluyor, profesyonel görünüm istediğinizde ise ödeme duvarıyla karşılaşıyordunuz.
Oysa PDF oluşturmak zor bir işlem değil. Tarayıcıda gerekli her şey mevcut. pdf-lib adlı açık kaynaklı kütüphane, JavaScript ile tamamen PDF oluşturabiliyor. Bu nedenle fatura verilerinizin başka bir sunucuya gitmesine gerçekten gerek yok.
Bu araçları, ortak bir PDF oluşturma katmanı ve daha önce PptPresentationMaker için geliştirilen şablon sisteminden esinlenerek inşa ettim. Mimari oldukça basit: React durum yönetimiyle formlar, her tuşa basışta güncellenen HTML/CSS canlı önizleme ve indirme butonuna tıkladığınızda pdf-lib tarafından oluşturulan PDF.
Fatura Üreticisi: altı şablon ve gerçek matematik
Üç araç arasında en teknik açıdan ilginç olanı Fatura Üreticisi. Altı farklı şablona sahip: Temiz, Modern, Klasik, Cesur, Minimalist ve Kurumsal. Her şablonun farklı başlık düzeni ve renk şeması bulunuyor. Şirket logonuzu yükleyebilir ve aracın, logoyu PDF'e yerleştirmeden önce tarayıcıda yeniden boyutlandırma işlemini gerçekleştirmesini sağlayabilirsiniz.
Otomatik hesaplamalar, ara toplamları, yüzde veya sabit tutarlı indirimleri ve vergi oranlarını destekliyor. Tüm hesaplamalar canlı önizlemede anında güncelleniyor. On iki farklı para birimini destekleyen para birimi seçici, Intl.NumberFormat ile yerelleştirilmiş biçimlendirme sunuyor; 1.234,56 ABD doları, hangi para birimini seçerseniz seçin (USD, EUR veya JPY) doğru şekilde görüntüleniyor.
Tablo oluşturma kısmı ise en zorlayıcı olanıydı. pdf-lib'in doğrudan bir tablo kavramı yok; bunun yerine dikdörtgenlerin ve metinlerin pixel koordinatlarıyla konumlandırılması gerekiyor. Bu nedenle metin sarma işlemine göre satır yüksekliklerini hesaplayan, çift satır arka planlarını yöneten ve tablo sayfaya sığmazsa otomatik olarak yeni sayfaya geçiş yapan ortak bir drawTable yardımcı fonksiyonu yazdım. Bu fonksiyon artık üç aracın tamamında yeniden kullanılabilir durumda.
Başlık düzeni hesaplaması beni en çok şaşırtan kısım oldu. Renkli arka plana sahip şablonlar, arka plan dikdörtgenini çizmeden önce başlık içeriğinin (logo yüksekliği + işletme bilgisi satırları + fatura detayları) tam yüksekliğini bilmek zorundaydı. Sonunda, hangi alanların doldurulduğuna bağlı olarak dinamik olarak hesaplama yaptım; böylece boş bırakılan alanlar başlığı küçültürken, logo eklenmesi durumunda genişletiyor.
Özgeçmiş Oluşturucu: beş şablon, tüm ATS dostu
Özgeçmiş Oluşturucu yaklaşık 900 satır kodla en karmaşık araç. Beş şablonu bulunuyor: Klasik (tek sütun, maksimum ATS uyumluluğu), Modern (renkli yan çubukla birlikte iletişim bilgileri ve beceriler), Profesyonel (iki sütunlu başlık), Minimalist (geniş beyaz alanlar) ve Yönetici (kalın alt çizgili vurgular).
Yalnızca pdf-lib'in StandardFonts (Helvetica ve Helvetica-Bold) kullanmaya karar verdim. Özel fontlar daha güzel görünse de, Başvuru Takip Sistemleri tarafından okunamaz hale geliyor. ATS okuyucuları standart fontlar ve basit metin konumlandırması bekliyor. Tüm şablonlar, resim değil gerçek ve seçilebilir metinler üretiyor. Modern şablonda bile yan çubuktaki içerik, ana içeriğin okuma sırasına göre önce yerleştiriliyor; böylece bir ATS önce deneyiminizi, ardından iletişim bilgilerinizi okuyabiliyor.
Bölümler yeniden sıralanabilir. Deneyimi Eğitim'in üzerine taşıyabilir veya Sertifikalar, Diller ve Projeler bölümlerini ekleyebilirsiniz. Her deneyim girişi, ekleme/kaldırma kontrolleriyle çoklu madde noktalarını destekliyor. Uzun özgeçmişler için araç, bölüm başlıklarının içeriklerinden ayrılmamasını sağlayan doğru sayfa sonlarını kullanarak çok sayfalık PDF'ler oluşturuyor.
Niyet Mektubu Üreticisi: basit olanı doğru şekilde
Üç araç arasında en basit olanı Niyet Mektubu Üreticisi, ancak işte bu da niyeti. Bir niyet mektubu, doğru biçimlendirildiğinde profesyonel görünür; yanlış biçimlendirildiğinde ise dikkatsiz bir izlenim bırakır. Araç, dört şablon sunuyor: Geleneksel, Modern, Profesyonel ve Basit. Tümünde iş mektubu kurallarına uygun biçimlendirme bulunuyor: gönderici bilgilerinin yerleştirilmesi, tarih biçimi, selamlama, içerik paragrafları ve kapanış.
Geleneksel şablon, iletişim bilgilerinizi sağ üst köşeye yerleştiriyor (resmi standart). Modern şablon, büyük isim ve yatay vurgulama çizgisi kullanıyor. Profesyonel şablon ise renkli bir başlık bloğuna sahip. İstediğiniz kadar içerik paragrafı ekleyebilirsiniz.
Hiçbir yapay zeka mektubunuzu yazmıyor. Siz yazıyorsunuz, araç biçimlendiriyor. Bunun önemli olduğunu düşünüyorum. Yüzlerce yapay zeka tarafından üretilmiş niyet mektubu okumuş bir işe alım uzmanı, bunları kolayca fark edebilir. Temiz bir biçimlendirme içinde yer alan kendi sözleriniz, gösterişli bir tasarıma sahip yapay zeka mektubundan çok daha fazla öne çıkacaktır.
Gizlilik argümanı gerçekten önemli
Bu üç araç hassas bilgilerle çalışıyor. Fatura detaylarınız, kişisel iletişim bilgileriniz ve hatta potansiyel olarak korunan sağlık bilgileri, üçüncü taraf sunuculara gönderilmeden tarayıcıda işleniyor. Bu durum, özellikle dijital gizliliğin giderek önem kazandığı bir dönemde önemli bir avantaj sunuyor. Aynı zamanda, kullanıcıların hesap oluşturma ve veri paylaşma endişelerini de ortadan kaldırıyor. Ücretsiz araçlar sunarken, kullanıcı verilerini korumanın ve basit bir deneyim sunmanın mümkün olduğunu gösteren bu yaklaşım, diğer geliştiriciler için de ilham kaynağı olabilir.
Yapay zeka özeti
Fatura, CV ve niyet mektubu oluşturmak için kayıt gerektirmeyen, tarayıcıda çalışan ücretsiz araçlar hakkında detaylı inceleme. Veri gizliliği ve basit kullanım deneyimiyle öne çıkan alternatifler.