Преобразование файлов .fountain в файлы .pdf

Фон

Файлы Fountain представляют собой уцененные файлы для сценариев. Появилось множество веб-сайтов и существует множество приложений с графическим интерфейсом, которые конвертируют файлы .fountain в различные другие форматы (например, .fdx, .html, .pdf).

Проблема

Запуск графического пользовательского интерфейса для создания PDF-файла из файлов .fountain — это ручной процесс, который должен иметь возможность обойти командную строку. Инструмент командной строки открывает множество возможностей, которых нет в графических интерфейсах (например, автоматическое создание PDF-файлов).

Вопрос

Как бы вы преобразовали файлы .fountain в файлы .pdf в системах Unix (например, Linux) из командной строки, используя бесплатное программное обеспечение с открытым исходным кодом?

Использование промежуточного формата (например, .fdx или .html) допустимо при условии, что:

  • графический интерфейс не требуется;
  • номера страниц имеют правильный формат; а также
  • продолжения речи персонажей через разрывы страниц помечены должным образом.

дополнительные детали

Автор Трелби отметил, что интерфейс командной строки не разрабатывается. Textplay зависит от несвободного программного обеспечения ( PrinceXML ), не говоря уже о других проблемах. Код JavaScript AfterWriting не работает с использованием nodejs или PhantomJS; тем не менее, он дает идеальный результат.

WeasyPrint может стать жизнеспособной альтернативой PrinceXML.

При цене 3800 долларов за одну лицензию Prince XML стоит дорого! Что заставляет меня задаться вопросом, почему он использовал его. У вас есть на это бюджет или вы ищете бесплатное решение?

Ответы (3)

Полный отказ от ответственности: я автор Wrap.

Я искал подобный инструмент, но не нашел ничего простого в использовании и работающего на большинстве основных платформ. Поэтому я создаю свой собственный инструмент под названием Wrap ( страница GitHub ).

Есть некоторые пограничные случаи, которые нуждаются в доработке, но он прекрасно обрабатывает 99,9% сценариев.

Основными преимуществами Wrap являются:

  • К письму реализации Спец. Фонтана.
  • Никаких внешних зависимостей, кроме Courier Prime.
  • Скорость (менее 200 мс для крупной рыбы).
  • Расширения Wrap (поддержка сценических постановок, разных языков и т. д.)
  • Поддержка Linux, macOS и Windows.

Другим вариантом может быть After Writing ( страница GitHub ), который требует Node.js, но содержит множество инструментов анализа для вашего сценария.

Автор AfterWriting опубликовал интерфейс командной строки на основе node.js. После загрузки его можно использовать следующим образом:

cd afterwriting-labs
npm install
node awc.js --help

Например:

node awc.js --source my_draft.fountain --pdf screenplay.pdf

Screenplain (версия для командной строки) преобразует файлы Fountain в PDF, Final Draft и HTML.

Вам нужно установить Python и Pip... тогда просто установите screenplain и screenplain[pdf].

sudo pip install screenplain

sudo pip установить 'screenplain [PDF]'

Чтобы использовать его, просто введите:

screenplain sample.fountain sample.pdf (или .fdx или .html).

Если вам нужны форматированные текстовые файлы из PDF-файлов, вы можете использовать утилиты Popplar и тип.

pdftotext -layout -nopgbrk образец.pdf образец.txt

("-nopgbrk" избавляется от кода разрыва страницы, а -layout сохраняет макет из pdf-документа)

Я также использовал для этого «афтеррайтинг» (см. выше), но я считаю, что легче настроить код Python (например, если я хочу, чтобы слаглайны были жирными или с двойным интервалом). Вы вносите изменения в файл pdf.py в подкаталоге «экспорт» (в разделе «экран»).

В нижней части сайта онлайн-экрана есть ссылка на страницу GitHub. (screenplain.com)

РЕДАКТИРОВАТЬ: (Только что установил Wrap (и Courier Prime). Очень приятно.)

РЕДАКТИРОВАТЬ 2: (Очень хорошо, но я столкнулся со странной проблемой. Моего персонажа зовут Эстелла. Когда я использую это имя в начале строки (с заглавной буквы или нет), Wrap думает, что это заголовок сцены — также пробовал это с ESTHER и INTIMA с те же результаты. Другие имена, такие как «Элла», работают нормально. Мы (я и пара других на форумах Done Deal Pro) пытались понять это и предположили, что «ext», «est» и «int» могут вызывать Wrap чтобы думать, что следующая строка является слаглайном. Однако существует также странное поведение при использовании одного из этих имен в качестве имени персонажа. В этом случае он не обрабатывает «ESTELLA», а строка диалога следует как заголовок, он просто оставляет обе строки выровнены слева? Странно. Я попытаюсь связаться с разработчиком на странице GitHub, если я смогу понять, как это сделать.)

РЕДАКТИРОВАТЬ 3: *Ошибка уже исправлена ​​в версии 0.2.3. Это было невероятно быстро! Мне очень нравится Wrap .*