Markdown’dan PDF’ye ve geri: biçim dönüşümü neyi korur
Markdown↔PDF başlıkları, listeleri ve basit tabloları piksellerden iyi korur. Tam yazı tipleri, sayfalama ve düzen kayıpsız bir gidiş-dönüş olarak yaşamaz.

Markdown ve PDF farklı sözleşmeler için optimize eder. Markdown, sürüm kontrolüne dost yapıdır. PDF, sabit bir sayfa tarifidir. Bir yönde dönüştürüp geri gelmek yararlıdır; kayıpsız bir arşiv döngüsü değildir.
Markdown’dan PDF’ye: yapı sayfalara dönüşür
Markdown to PDF (POST /api/v1/convert/markdown/pdf), bir .md dosyası ya da Markdown içeren bir ZIP kabul eder. Markdown olmayan, ZIP olmayan yüklemeler reddedilir. Düz .md girdisi için UTF-8 zorunludur. Ardışık düzen, Markdown’ı tablolar, üstü çizili metin ve görev listeleri etkin biçimde HTML’e çizer, o HTML’i baskıya yönelik CSS ile sarar (çok betikli yazı tipi yığınları ve Arapça algılandığında RTL dahil), sonra WeasyPrint ile PDF’ye basar.
İleri yönde korunma eğiliminde olanlar:
- Başlıklar, paragraflar, listeler ve basit Markdown tabloları
- HTML yolunun düzenleyebildiği çok betikli metin (baskı CSS’inin kapsadığı CJK, Latin ve diğer betikler)
- Docs-as-code iş akışları için yazdırılabilir, paylaşılabilir bir PDF
Korunmayanlar:
- Düzenleyicinizin tema yazı tiplerinin her görüntüleyicide garantili eşleşmesi
.mddosyasındaki tam ekran satır sonları- PDF’de karşılığı olmayan etkileşimli Markdown özellikleri (canlı onay kutuları, katlanabilir bölümler, wiki bağlantıları)
Bir ZIP girdisi, Markdown’ı HTML yolunun belgenin yanında çözebileceği varlıklarla paketlemek içindir. Bunu bir paketleme kolaylığı olarak görün; her göreli görüntünün veya CSS referansının her görüntüleyicide aynı görüneceğinin garantisi olarak değil.
PDF’den Markdown’a: metin katmanı girer, Markdown çıkar
PDF to Markdown (POST /api/v1/convert/pdf/markdown), metinsel içeriği pdf-inspector ile Markdown’a çıkarır. Yanıt, .md dosyası olarak indirilen text/markdown’dır. Temiz bir metin katmanına sahip doğuştan dijital PDF’ler en iyi dönüşür. Metin katmanı olmayan taranmış sayfalar, siz önce OCR etmedikçe boş veya işe yaramaz Markdown verir; bu sitedeki OCR da aranabilir bir PDF katmanı değil, Markdown döner.
Bekleyin:
- Yazı tipi boyutu sezgiselleri doğru çalıştığında başlıklar ve paragraflar (
#düzeylerini yine de elle yeniden numaralandırmanız gerekebilir) - Tanıma çalıştığında Markdown tabloları olarak tablolar; çok sütunlu düzenler farklı bir okuma sırasına doğrusallaşabilir
- Her sayfada tekrarlanan üstbilgiler ve altbilgiler (sonradan kırpın)
- Görüntüler ve resim olarak duran denklemler otomatik olarak yerel varlıklara veya LaTeX’e dönüşmez
Başlık sezgiselleri olmadan düz düzyazı gerekiyorsa PDF to Text daha yalın çıkarımdır. Bir taramadan sonra HTTP 204 dönen tablo biçimli dışa aktarmalar, sütun blokları bulunamadı anlamına gelir; Boş tablo dışa aktarma (204) yazısına bakın.
Bir gidiş-dönüş gerçekte neyi kanıtlar
| Makul ölçüde korunur | Genellikle korunmaz |
|---|---|
| Kelimeler, başlık hiyerarşisi, liste yapısı | Pikselden piksele sayfa geometrisi |
| Metin olarak basit tablolar | Tam yazı tipleri ve kerning |
| Git veya ajanlar için çalışan bir taslak | Baskıyla birebir sayfalama |
İki kez gidiş-dönüş yapmak kayar. Markdown→PDF, WeasyPrint üzerinden yeniden akıtır; PDF→Markdown, yapıyı çıkarım sezgisellerinden yeniden kurar. Hiçbir adım, diğer biçimin düzen modelinin kayıpsız bir ara temsilini saklamaz.
Kurallı bir yön seçin
Baskı düzeni kayıt sistemi olacaksa PDF’yi tutun ve Markdown’ı bir dışa aktarma ya da ajan beslemesi olarak görün. Diff, kod incelemesi ve ajan alımı gerekiyorsa Markdown’ı tercih edin ve PDF’yi yayımlama adımı olarak görün. İkisini eşit “doğruluk kaynağı” olarak saklayıp düzenlemelerden sonra aynı kalmalarını beklemeyin.
Pratik bir docs-as-code döngüsü: Markdown’ı Git’te düzenleyin → paylaşılabilir çıktı için Markdown to PDF → PDF→Markdown→PDF’i günlük alışkanlık yapmaktan kaçının. PDF→Markdown’ı, doğuştan dijital bir PDF devraldığınızda ve bir ajan için metne ihtiyaç duyduğunuzda kullanın; o Markdown’ı özgün sayfalamanın garantisi değil, yeni bir taslak olarak görün.
Şifreli dosyalar, her iki dönüşümden önce yetkili bir Unlock gerektirir. Ayrıştırılamayan hasarlı dosyalar önce Get Info / Repair yolundan geçmelidir. Aynı uç noktaları HTTP üzerinden yapmak için Geliştiriciler sayfasına bakın.