2013-12-03 2 views
2

Я начал делать некоторые демонстрации, используя jspdf. У меня есть html-файл, а мой css - во внешнем файле.Используется ли внешнее css для pdf-файлов, созданных jsPDF

Я написал следующий код для создания моего Pdf

$('#pdfButton').on('click', function(){ 

    var pdf = new jsPDF('p','in','letter') 
    , source = $('#main')[0] 
    , specialElementHandlers = { 
     '#bypassme': function(element, renderer){ 
     return true 
     } 
    } 

    pdf.fromHTML(
    source // HTML string or DOM elem ref. 
     , 0.5 // x coord 
     , 0.5 // y coord 
     , { 
      'width':700 // max width of content on PDF 
      , 'elementHandlers': specialElementHandlers 
     } 
    ) 
    pdf.output('dataurl'); 

    }); 


}); 

где главный является идентификатором DIV, содержание которого я хочу, чтобы экспортировать в PDF. Содержимое экспортируется как PDF, но не весь контент (pdf-файл удален). Это может быть динамический контент. Кроме того, css, который у меня есть во внешних файлах, не применяется, такие стили, как , таблица, фоновый цвет и т. Д. Не применяются.

Как я могу применить внешний CSS-документ к PDF-файлу перед его созданием? Возможно ли это с помощью jsPDF ..? Любые предложения, пожалуйста.

Заранее спасибо

ответ

7

Насколько я знаю jsPDF не принимает внешний CSS. Он infact даже не принимает встроенный css. В настоящее время не рекомендуется использовать jspdf для преобразования html в pdf.

Надеюсь, что это поможет.

1

Имейте в виду, что, когда вы PDF'ing вещи в HTML, это, по существу, печатая их в файл. Это означает, что вам необходимо создать таблицу стилей печати в идеале, но также иметь в виду, что таблицы стилей печати означают, что они игнорируют такие вещи, как цвет фона. Путь вокруг этого будет иметь фоновое изображение в вашей таблице стилей печати, которая является цветом.

Также см эту статью, http://css-tricks.com/dont-rely-on-background-colors-printing/

Надежда, что помогает

+0

можете ли вы дать некоторые ссылки на таблицы стилей печати – CrazyNooB

+0

Таблица стилей печати фактически совпадает с обычной таблицей стилей, однако она имеет media = "print" в include. Основная проблема здесь заключается в том, что вы пытаетесь использовать фоновый цвет в своей таблице стилей печати, который просто не будет работать, поскольку это пользовательский параметр для своего принтера или браузера, а не то, что может быть задано вами. Это связано с тем, что не у всех пользователей будет цветной принтер. –

+0

В настоящее время я не беспокоюсь о цветах, единственное, что меня беспокоит, это то, что у меня есть html-таблица, и я добавил к ней некоторые CSS, эта таблица не отображается в виде таблицы. но получаются в виде скремблированного текста. Сделал изменения в вопросе ... спасибо за ваше время – CrazyNooB

Смежные вопросы