Найти - Пользователи
Полная версия: Быстрое добавление javascript в большой pdf-файл
Начало » Python для экспертов » Быстрое добавление javascript в большой pdf-файл
1
agryn
Импользую модифицированую библиотеку pyPdf (http://blog.rsmoorthy.net/2012/01/add-javascript-to-existing-pdf-files.html) для добавления javascript (в моем случае this.print();) в пдф-файл:
import shutil
from .pyPdf import PdfFileWriter, PdfFileReader
def add_js_print(file_name, js_str="this.print();"):
    """
    Додаємо js в пдф для автоматичного друку при відкриті
    """
    inputStream = file(file_name, 'rb')
    pdf_file_input = PdfFileReader(inputStream)
    pdf_file_output = PdfFileWriter()
    for page_numb in xrange(pdf_file_input.getNumPages()):
        page_obj = pdf_file_input.getPage(page_numb)
        pdf_file_output.addPage(page_obj)
    pdf_file_output.addJS(js_str)
    tmp_output_filename = file_name + '.tmp'
    outputStream = file(tmp_output_filename, "wb")
    pdf_file_output.write(outputStream)
    outputStream.close()
    inputStream.close()
    shutil.move(tmp_output_filename, file_name)
так как скрипт перебирает весь пдф постранично то при обработке больших файлов возникает немаленькая задержка (немаленькая для web-приложения). Пробовал откусывать одну страницу от большого файла, добавлять скрипт, а потом назад вставлять в большой файл с помощью pdftk, но при манипуляциях с файлом добавленный скрипт теряется. Может кто знает как ускорить такой процесс.
Singularity
agryn
попробуй использовать celery что бы выполнять задания в отдельном потоке и сделать страницу на которой можно проверять готово ли оно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB