Перетворіть Markdown у PDF без втрати документа
Markdown створений для екрана, що прокручується. PDF має сторінки, а сторінки мають межі. Більшість конвертерів ігнорують цю різницю: вони просто передають файл браузеру, натискають друк і повертають те, що вийшло. Саме тому таблиці втрачають останні чотири стовпці, заголовки опиняються на самому низу сторінки, а логотип у верхній частині README перетворюється на рядок сирого HTML, надрукованого як текст. Цей інструмент спочатку готує документ для друку на папері, а потім повідомляє, що саме довелося зробити для цього.
Таблиці, які залишаються в межах сторінки
У Markdown-таблиці не вказано ширину стовпців. Синтаксис не передбачає цього, тому конвертер, який просто передає таблицю браузеру, сподівається, що вона випадково поміститься. Тут кожна таблиця вимірюється перед відображенням і підлаштовується під вибраний вами формат паперу. Таблиця зі шляхами до файлів у чотирнадцять стовпців все одно залишиться в межах полів сторінки, а довгі значення будуть переноситися, а не виходити за край, і у звіті буде зазначено, що це було зроблено.
Менш помітна частина проблеми виникає на другій сторінці. Довга таблиця зазвичай залишає рядок заголовків на першій сторінці, і читач бачить сітку без підписів. Тут заголовок повторюється на кожній сторінці, де є таблиця, а жоден рядок не розривається переносом сторінки.
Код, який не виходить за межі сторінки
Огорожений код зберігає підсвічування синтаксису та мітку мови. Довгі рядки переносяться так, щоб було видно, що вони перенесені, а не обрізані на межі сторінки. У PDF немає смуги прокрутки, тому якщо рядок не переноситься — його права частина буде втрачена. Відступи, огорожі без вказаної мови та інлайн-код також відображаються коректно.
Зображення у вашому README
Логотип і ряд бейджів збірки майже ніколи не пишуться в Markdown. Немає способу вирівняти зображення по центру, тому README часто використовують сирий HTML. Конвертер, який не відображає HTML, зазвичай екранує його, а не просто ігнорує, через що документ відкривається з купою тегів зображень, надрукованих як текст. Тут розмітка видаляється, а зображення та текст всередині зберігаються, тож верх документа виглядає так, як і має.
Зображення завантажуються та вбудовуються у файл, а не просто посилаються, тому PDF працює офлайн і через рік. Якщо зображення не вдалося отримати, у результаті це буде враховано і зазначено, а не залишено порожнє місце.
Ваші заголовки стають навігацією
Кожен PDF містить дерево закладок, створене з ваших заголовків, тому великим документом можна зручно переміщатися через бічну панель. Якщо ви замовите сторінку змісту, отримаєте клікабельну, на будь-якій глибині заголовків, яку оберете. Один заголовок на самому верху сприймається як назва документа і не включається до списку — як це робиться у книзі, а не в розділі.
Виноски залишаються виносками, з піднятим маркером і посиланням назад до рядка, який ви читали. Списки завдань зберігають свої прапорці, відмічені та не відмічені. Примітки, попередження і підказки зберігають кольорову смугу. Front matter на початку файлу сприймається як метадані і не потрапляє на сторінку. Списки визначень, закреслення, вкладені цитати і три рівні вкладених списків відображаються як слід.
Він повідомляє, що не вдалося зробити
Кожне перетворення повертається з коротким звітом: скільки сторінок, напрямок тексту, скільки таблиць, скільки блоків коду, скільки зображень вбудовано і скільки не вдалося отримати. Якщо у шрифті не вистачає символу, він буде вказаний. Якщо ви замовили сторінку змісту, а в документі немає заголовків для неї, про це буде повідомлено, а не просто додано порожню сторінку на початку. Конвертер, який приховує свої помилки, — причина, чому люди перестають їм довіряти.
Сценарії, що не латиницею
Шрифти вбудовуються у PDF, тому документ відкривається однаково навіть на комп’ютері, де їх немає. Текст справа наліво визначається для кожного блоку окремо, а не для всього файлу одразу, що важливо, бо технічні документи такими мовами часто наполовину складаються з латиниці, шляхів до файлів і назв класів, але все одно читаються справа наліво. Огорожений код завжди відображається зліва направо, а решта верстається правильно: маркери списків, смуги цитат і стовпці таблиць змінюють розташування. Якщо у письмі немає курсиву, виділення робиться жирністю, а не нахилом літер, які ніколи не були нахиленими.
Чого він не робить
LaTeX не відображається. Блок між знаками долара друкується як звичайний текст. Mermaid також не відображається: огорожа з позначкою mermaid виходить як блок коду з підписом. Китайська, японська та корейська не підтримуються вбудованими шрифтами, тому символи цих мов будуть позначені як відсутні, а не підставлені навмання. Це обмеження, а не недоліки, і вони тут описані, щоб ви не дізналися про них після завантаження.
Практична частина
Завантажуйте файли з пристрою, з Google Drive або вставляйте посилання на файл. Markdown-файли приймаються з будь-яким стандартним розширенням, як і звичайний текст. Папір може бути A3, A4, A5, Letter, Legal або Tabloid, книжна чи альбомна орієнтація, з вузькими, стандартними або широкими полями. Нумерація сторінок і підсвічування синтаксису увімкнені за замовчуванням, якщо ви їх не вимкнете. Надішліть один файл — отримаєте PDF; кілька файлів — ZIP, або один об’єднаний PDF з безперервною нумерацією сторінок, якщо ви це оберете. Текст залишається справжнім текстом, його можна виділяти, шукати і копіювати, а не перетворювати на картинку з написами.
Що ви отримуєте
- Таблиці, що залишаються в межах сторінки, з повторенням рядка заголовків на кожній сторінці
- Код із підсвічуванням синтаксису і перенесенням довгих рядків замість їх обрізання
- Зображення, вбудовані у файл, включаючи ті, що написані у сирому HTML
- Дерево закладок із ваших заголовків і клікабельна сторінка змісту за потреби
- Шрифти, вбудовані у PDF, тож файл виглядає однаково на будь-якому пристрої
- Письмовий звіт про все, що конвертер не зміг зробити, включаючи відсутні символи і зображення
Що далі?
Працюєте з файлом Word? Word у PDF проходить тим самим шляхом до паперу. Об’єднайте результат з іншими частинами звіту за допомогою Об’єднати PDF. А потім зменшіть розмір файлу перед відправкою через Стиснути PDF.