Как удалять кодифицированные символы файла, произведенного в PDF используя jsPDF?

Используя книжный магазин jsPDF и продолжая этот код образца, взятый из этого ответа, я работаю в разработке используя HTML и javascript, чтобы производить файл PDF.

Контент файла PDF - код HTML этой страницы prueba1, которая может загружаться, чтобы проверять Ваш контент.

Открыв файл в браузере и выбрав ссылку разряда; файл PDF загружен в папке "Разрядов" 2, но результат содержит какие-то кодифицированные символы:

Это фрагмент файла HTML:

CONTRATO INDIVIDUAL DE TRABAJO A TÉRMINO FIJO INFERIOR A UN AÑO CELEBRADO ENTRE COMPAÑÍA (A). Y FUTURO EMPLEADO (B) –SALARIO ORDINARIO.

Характер он кодировавший в таком PDF: þÿ

Я пробовал:

  • Размещать свойство UTF-8 в файле HTML.
  • Сохранять файл HTML как показывается в ответе, но в этом случае, я не считаю, что проблема находит в файле HTML образца, а в результате превращения в PDF.
  • Менять этикетку meta так: ; то, что вызывает, что файл HTML потерял кодирование таких символов как ñ акцент, и т.д.

Но нет никакого различия в файлах произведенных PDF.

Как удалять кодифицированные символы файла, произведенного в PDF используя jsPDF?


1 Я создал этот файл доказательства, так как реальная разработка содержит конфиденциальную информацию.

2 Маршрут разряда меняется согласно конфигурации каждого пользователя в Вашем браузере предпочтения.

6
задан 23.05.2017, 15:39
1 ответ

Все показывает, что это вирус в plugin "fromHTML". Одна soluciГіn может состоять в том, чтобы избегать использовать символы с cГіdigo превосходящий 255 (быть сокращенным до символов в Windows-1252 ).

Другая состоит в том, чтобы использовать твой собственный jsPDF, меняя эта lГ-nea , где он говорит:

pdfEscape(text)

из-за

pdfEscape(text, { 'noBOM': true, 'autoencoding': true })

третья Одна soluciГіn: mapear символы, произведя вектор 8 бит.

Поддерживая изменение в призыве к pdfEscape, в mГіdulo главный, despuГ©s эта lГ-nea , помещать

if (ch == 0x2013) ch = 150;
else if (ch == 0x2014) ch = 151;

Делать то же самое с символами эту таблицу , когда они отложат Вашу стоимость Unicode с Вашей стоимостью в charset (они - те "линий 8 _" и "9 _").

( Disclaimer: кажется правильным, но я это не протестировал.)

2
ответ дан 24.11.2019, 14:58
  • 1
    Я только что сделал доказательство, но он не кодирует символы: скрывает их. – Mauricio Arias Olave 22.01.2016, 23:38
  • 2
    #191; Цюй и # 233; попытайся? Я поместил две альтернативы. – angus 22.01.2016, 23:43
  • 3
    вторая подсказка: менять призыв к funci и # 243; n схвати и # 237;: pdfEscape(text, { 'noBOM': true, 'autoencoding': true }). opci и # 243; n может быть restricci и # 243; n использования символов, но которое производит документы / файлы HTML, он - другой человек (клиент). Следовательно, ограничивать символы - soluci и # 243; n опциональный. Я хотел бы узнать, существует ли другой soluci и # 243; n, чтобы предотвращать счастье restricci и # 243; n. – Mauricio Arias Olave 22.01.2016, 23:50
  • 4
    Aj и # 225;. Я вижу, что PDF кодируется WinAnsiEncoding, он не импортирует символы, которые он содержит. Тогда s и # 237; вторая альтернатива s и # 243; это предотвращает " и #254; и #255; " и символы вне Windows-1252 не вырисовываются. Она и #250; nica soluci и # 243; n он состоит в том, чтобы менять их. Я добавляю что-то в сообщении по этому поводу. – angus 22.01.2016, 23:52
  • 5
    я реализовал доказательство индийской в Вашем ответе, принял ее, потому что это soluci и # 243; n альтернатива, К несчастью, у меня есть другой недостаток, но кажется, что jsPDF он не может решать правильно требование, в котором я работаю. Спасибо за Вашу помощь. – Mauricio Arias Olave 03.02.2016, 15:36