2012-01-19 5 views
3

Я пробовал PDFKit и wicked_pdf.HTML to PDF Rails

PDFKit почти у меня, где я хотел, но он не имеет поддержки правило CSS, чтобы я мог получить колонтитул фиксируется в нижней части:

position: fixed; 
bottom: 0; 

Любые обходные пути, чтобы исправить это?

Гугл по теме не дает многого, кроме других, таких как креветка и любит без поддержки html.

Для тех, кто задается вопросом. wkhtmltopdf установлен и работает, таким образом, PDFKit работает.

respond_to do |format| 
    format.html {render :layout => nil} 
    format.pdf do 
    render :pdf => "file_name.pdf", 

    :save_to_file => Rails.root.join('public/uploadedfiles', "filename") 
    end 
end 

ответ

0

Я не пробовал PDFKit или wicked_pdf, поэтому мне просто интересно. Но, возможно, это может сделать трюк. Вы пытались использовать Sticky Footer hack вместо этого?

http://ryanfait.com/sticky-footer/

+0

Спасибо. Я проверю это. – MattiasB

+0

Это не сработало. В исходную точку. :( – MattiasB

0

Я действительно не знаю, почему вы хотите, чтобы элемент фиксируется в формате PDF документа, в том, что на самом деле то, что вы хотите? Кроме того, оба драгоценных камня используют wkhtmltopdf, который является утилитой, которая использует webkit для рендеринга html и в конечном итоге конвертирует его в pdf. Как только он отлично смотрится на webkit, он должен отлично выглядеть как PDF. Но я не думаю, что pdf поддерживает элементы «фиксированные», как в CSS.

+0

Чтобы быть более конкретным, мои проблемы состоят в том, что на каждой сгенерированной странице мне нужен специальный нижний колонтитул, который идентичен и прикрепляется на каждой новой странице. Исправлено положение, которое работало так же, как html, а затем печаталось, но не в формате pdf. :( – MattiasB

+0

Это имеет смысл, пожалуйста, напишите код, который вы используете для создания PDF-файлов. –

0

Я бы рекомендовал изучить DocRaptor. По моему опыту, у меня улучшена поддержка CSS, чем сопоставимые программы.

DocRaptor

Вот ссылка на код для использования DocRaptor с Rails:

DocRaptor Rails example

+0

Есть одна проблема с DocRaptor. Это не открытый исходный код, поэтому мой босс, вероятно, не хочет тратить на него такие деньги, поэтому не мой призыв туда . :( – MattiasB

+0

Насколько ваш босс ценит ваше время? Сколько времени потребуется, прежде чем потратить больше денег, чем просто использовать размещенное решение, такое как DocRaptor? – Gareth

2

В CSS3 можно использовать @page правило включать колонтитулы следующим образом:

@page { 
    @bottom-center { 
    content: "foo"; 
    } 
} 

Это поддерживается во многих платных PDF-решениях, например PDFReactor и я думаю, что принц.

Однако Webkit (который основан на wkhtmltopdf) doesn't support the CSS3 paged media rules, так что вам нужен резерв.

Wicked PDF documentation содержит опцию :footer, которую вы можете использовать, чтобы передать куски HTML для рендеринга на определенных страницах. Это выглядит как лучший вариант для вас.