Sari la conținut
freeonlinemarkdowneditor
Română

Blog

Exportul Markdownului în PDF din browser

pdftipăriretext formatat

Există două moduri în care un browser poate produce un PDF dintr-o pagină web, și nu sunt la fel de bune.

Primul este să randeze pagina ca imagine și să învelească imaginea într-un PDF. Bibliotecile care fac asta sunt ușor de adăugat, iar rezultatul este un fișier în care textul nu mai este text — nu îl poți selecta, nu îl poți căuta și nu poți copia un rând din el, iar fișierul este de câteva ori mai mare decât ar trebui.

Al doilea este să tipărești pagina și să alegi „Salvează ca PDF” ca destinație. Browserul așază documentul pentru hârtie, respectă foaia de stil de tipărire și scrie text vectorial adevărat. Costă un clic în plus și produce un fișier chiar mai bun, deci asta se întâmplă aici când apeși Salvează ca PDF.

Cele patru setări care contează

Tot ce urmează se află în fereastra de tipărire, nu în pagină, pentru că nicio foaie de stil nu le poate stabili.

Destinație: Salvează ca PDF. Nu o imprimantă fizică.

Grafica de fundal: activată. Se află sub Mai multe setări și este cea pe care lumea o ratează. Cu ea dezactivată, browserul aruncă orice umplere de fundal: blocurile de cod își pierd nuanța, anteturile tabelelor devin albe, iar un PDF cu temă închisă iese ca hârtie albă cu text alb pe ea, ceea ce arată ca un export defect și nu ca o setare.

Antet și subsol: dezactivate. Opțiunea aceea este browserul care adaugă din proprie inițiativă adresa paginii și data. Dacă ți-ai pus propriul antet sau subsol, cele două se ciocnesc. Dezactivează-l pe cel al browserului și păstrează-l pe al tău — sau invers, dacă vrei numere de pagină, despre care se vorbește mai jos.

Scalare: 100% sau Implicită. „Potrivește la pagină” rescalează litera și dă marginile peste cap, iar de margini depinde spațiul antetului și al subsolului.

De ce dispare uneori controlul de Scalare

Dacă un document declară un format de hârtie fix, Chrome consideră hârtia deja stabilită de autor și ascunde complet controlul de Scalare. Nu este o eroare a browserului sau a paginii — este consecința faptului că documentul s-a pronunțat.

Deci hârtia este o alegere: A4, Letter sau Implicit al imprimantei. Primele două cer un format și pierzi Scalarea. A treia nu cere nimic și Scalarea revine. Marginile sunt stabilite de document în toate cele trei cazuri, deci un antet sau un subsol își păstrează spațiul oricum.

Antete și subsoluri care se repetă

Un antet care se repetă apare pe fiecare pagină. Într-un browser asta se face cu un element cu poziție fixă, despre care specificația spune că se repetă pe fiecare foaie a unui mediu paginat.

Subtilitatea este să îi rezervi spațiu. Abordarea evidentă — spațiere interioară în partea de sus a corpului documentului — rezervă spațiul o singură dată, pentru că corpul este o singură cutie, pe câte pagini s-ar tipări. Funcționează la pagina unu, iar de la doi încolo antetul se așază peste text.

Soluția este să rezervi spațiul în marginea @page, care se aplică per pagină, și să poziționezi bara în acea margine cu un decalaj negativ. Asta face zona de ștampilare, și lărgește marginea doar pe latura care poartă efectiv o bară.

Fiecare dintre cele patru câmpuri — antet stânga, antet dreapta, subsol stânga, subsol dreapta — acceptă orice text vrei, plus marcaje completate la tipărire:

  • {title} — primul titlu sau primul rând al documentului
  • {date}, {time}, {datetime} — când a fost făcut PDF-ul

Fără numere de pagină, și de ce

Nu există în mod deliberat un marcaj {page}. Numărarea paginilor în interiorul unui element care se repetă nu este ceva ce un browser poate face: counter(page) se rezolvă doar în interiorul casetelor de margine @page, iar niciun browser important nu le implementează. Un marcaj care ar tipări în tăcere nimic ar fi mai rău decât lipsa marcajului.

Dacă ai nevoie de numere de pagină, le adaugă propria opțiune de antet și subsol a browserului. Folosește-o în locul unei ștampile, sau acceptă-le pe amândouă și lasă-le pe laturi opuse.

PDF-uri închise

Opțiunea închisă inversează pagina — hârtie neagră, cerneală albă — și lasă celelalte culori în pace. O excepție deliberată: culoarea linkurilor este deschisă, pentru că albastrul temei deschise stă la aproximativ 2,5:1 față de negru și este ilizibil. Își păstrează nuanța și câștigă contrast.

Nu uita de grafica de fundal. Un PDF închis tipărit fără ea este o pagină albă goală.

Încearcă convertorul →