Как заменить слово в существующем PDF, используя Ruby Prawn? - PullRequest
6 голосов
/ 02 февраля 2011

- Привет, Сандип, здесь. Я ученик мастера-джедая Йоды. Мой мастер считает, что сила в сообществе Ruby сильна, и выбрал меня для простой задачи, которую нужно выполнить с помощью языка Ruby:

Мне нужно использовать драгоценный камень Prawn PDF для выполнения задачи. У меня есть существующий документ в формате PDF под названием Dooku.pdf - он содержит конфиденциальную информацию о деятельности Злого графа Дуку. В Dooku.pdf есть текст, который называется {galaxy}. {galaxy} всегда находится в одном и том же месте на каждой странице PDF-документа.

Мне нужно открыть Dooku.pdf, заменить каждый экземпляр {galaxy} на {planet}, а затем сохранить / закрыть Dooku.pdf. Как мне выполнить эту задачу, используя драгоценный камень Prawn PDF?

- Да пребудет с тобой сила.

Ответы [ 3 ]

2 голосов
/ 02 февраля 2011

Вы не можете.Креветка предназначена для написания PDF-файлов, а не для их чтения.

2 голосов
/ 02 февраля 2011

1) Я фанат звездных войн и все такое, но, черт возьми.

2) Твоя "простая задача" даже отдаленно не проста. Это не так сложно, чтобы покрыть существующий текст ... но заменить его это совсем другое дело. И забудьте переформатировать существующий текст. All-но-невозможно.

Если покрытие будет достаточным, тогда вам нужно всего лишь нарисовать прямоугольник, заполненный цветом фона, поверх вашей первой строки, а затем нарисуйте вторую строку поверх нее. Я не знаком с Prawn PDF, поэтому оставлю детали реализации в качестве упражнения для читателя.

0 голосов
/ 31 июля 2014

Поздно, но в Ruby вы можете вызвать Applidok PDF merge, который позволяет записывать пользовательские данные (например, из веб-формы) в любой существующий PDF.См. Документ Ruby: http://doc.applidok.com/merge-ruby.html.

...