Быстрое введение в pdfrw (Перевод)

Я всегда наблюдаю за библиотеками для Pytho для работы с  PDF и в один прекрасный день я столкнулся с pdfrw. Это похоже на аналог pyPDF, так как позволяет Вам читать и записывать PDFы, объединять их и использовать Reportlab для пометки их водяными знаками, кроме всего прочего. Проект немного мёртв, так как последнее обновление было в 2011 году, но с учётом того, что pyPDF обновлялся в 2010 — это не так уж и плохо. В этой  статье мы проведём небольшой тест-драйв pdfrw и посмотрим, на что он годен. Поехали!
Заметка об установке: К сожалению у этой библиотеки нет скрипта setup.py, так что Вам придётся получить исходники с Google Code а затем скопировать папку pdfrw в site-packages или в ваш virtualenv.

Соединяем PDFы при помощи pdfrw

Достаточно простая задача:
from pdfrw import PdfReader, PdfWriter
 
pages = PdfReader(r'C:UsersmdriscollDesktop1.pdf', decompress=False).pages
other_pages = PdfReader(r'C:UsersmdriscollDesktop2.pdf', decompress=False).pages
 
writer = PdfWriter()
writer.addpages(pages)
writer.addpages(other_pages)
writer.write(r'C:UsersmdriscollDesktopout.pdf')
Что мне показалось интересным — так это возможность добавить метаданные в файл перед тем, как Вы его сохраните:
writer.trailer.Info = IndirectPdfDict(
Title = 'My Awesome PDF',
Author = 'Mike',
Subject = 'Python Rules!',
Creator = 'myscript.py',
)
Вот пример того, как соединить PDFы при помощи pdfrw и reportlab:
# http://code.google.com/p/pdfrw/source/browse/trunk/examples/rl1/subset.py
import sys
import os
 
from reportlab.pdfgen.canvas import Canvas
 
import find_pdfrw
from pdfrw import PdfReader
from pdfrw.buildxobj import pagexobj
from pdfrw.toreportlab import makerl
 
 
def go(inpfn, firstpage, lastpage):
firstpage, lastpage = int(firstpage), int(lastpage)
outfn = 'subset_%s_to_%s.%s' % (firstpage, lastpage, os.path.basename(inpfn))
 
pages = PdfReader(inpfn, decompress=False).pages
pages = [pagexobj(x) for x in pages[firstpage-1:lastpage]]
canvas = Canvas(outfn)
 
for page in pages:
canvas.setPageSize(tuple(page.BBox[2:]))
canvas.doForm(makerl(canvas, page))
canvas.showPage()
 
canvas.save()
 
if __name__ == '__main__':
inpfn, firstpage, lastpage = sys.argv[1:]
go(inpfn, firstpage, lastpage)
На мой взгляд — так это клёво. У Вас есть несколько альтернатив pyPDF’у. Кроме того, в пакете Вы найдёте ещё несколько интересных примеров, например:
  1. Как использовать pdf (одна страница) для фона для других страниц при помощи platypus.
  2. Как добавить водяной знак
Я думаю, у этого проекта большой потенциал. К счастью, мы можем проявить к нему достаточно интереса, чтобы снова запустит его, ну или найти что-то новенькое.

Автор: Ishayahu Lastov

Миниатюрный садик

Миниатюрный садик

Сегодня будем учиться делать миниатюрному садоводству с разными растениями.

Миниатюрный садик

Читать

Дюбель кровельный используется для монтажа кровельных материалов

дюбель кровельный

Дюбель кровельный телескопический в основном предназначен для строительства кровли и крепления изоляционного материала кровельных покрытий. Причем основа может быть самая разная — дерево, бетон, кирпич, профилированная сталь и др. Такие кровельные дюбели желательно использовать на плоской кровле. В некоторых случаях с такими дюбелями применяются специальные крепежные изделия для крепления однослойного покрытия к основанию из бетона. Также существуют разновидности дюбелей, с помощью которых можно крепить кровельные битумные материалы и слой теплоизоляции к твердому основанию.

Читать

Овощехранилище

Вот и наступил июль месяц. Совсем скоро садоводы-любители приступят к уборке первого урожая овощей и фруктов, и у кого-то неизбежно возникнет проблема с зимним хранением результатов своего труда. В первую очередь имеются в виду те, у кого отсутствует погреб, где урожай можно сохранить до весны. Для строительства классического углубленного в землю овощехранилища необходимо потратить много сил и средств. Если же близко подходят грунтовые воды, то сооружение подземного погреба может стать неосуществимой мечтой.

утепленный погреб

Однако можно построить надземный утепленный погреб. Для его строительства выбираем, по возможности, возвышенное место, снимаем верхний растительный слой и углубляемся на 30-50 см (в зависимости от глубины грунтовых вод). Вынутый грунт оставляем для последующей наружной засыпки. Основание углубления трамбуем и засыпаем слоем 10-15 см щебнем, керамзитом или крупным песком. Таким образом создаем дренирующий слой. На его поверхность укладываем слой мятой жирной глины толщиной 15-20 см. Равномерно по всей поверхности глины утапливаем плашмя красный кирпич, который будет являться полом и защитит погреб от проникновения грызунов.

Читать

Банковский кредит: в состоянии ли оформить займ безработный гражданин и трудно ли заполучить кредитку?

Банковский кредит: в состоянии ли оформить займ безработный гражданин и трудно ли заполучить кредитку?

Банковский кредит: в состоянии ли оформить
займ безработный гражданин и трудно ли
заполучить кредитку?
================================================================================
Иван Флорс Флорс on 23/05/2013 04:09:00

Статистика доказывает: несмотря на кризис,
жители нашей страны продолжают брать
кредиты. Кругом куча соблазнов и каждому
хотелось бы сделать хороший ремонт в
квартире, приобрести новый автомобиль,
провести полноценный отпуск. К тому же мало
кто готов копить и ждать несколько лет,
чтобы исполнить свою мечту, кроме того
банковские учреждения сейчас
демонстрируют великодушие и складывается
впечатление, что они готовы выдать деньги
каждому человеку. Так ли это и стоит ли в
наше время брать кредиты мы далее и
попытаемся выяснить.
Благодаря интернету найти живые денежные
средства для своих желаний есть
возможность, не покидая квартиры. Для этой
цели вам достаточно лишь составить данные
анкеты. Однако нужно заметить, что в
большинстве случаев онлайн заявка на
кредит — это всего лишь отличная
возможность сберечь время. В основном,
менеджер все равно попросит придти в банк,
чтобы узнать нюансы и пересмотреть
подлинники документов. Нужно понимать, чем
проще условия, тем больше процентные ставки
по кредиту. Потому для получения ипотеки и
автокредита все равно надо подсуетиться и
собрать максимальное количество
документации, в том числе справку о
зарплате и копию трудовой книжки. Важно
понять, что коммерческий банк готов выдать
денежные средства всем, но при этом не готов
идти на риск и тем, кто не готов
предоставить о собственном материальном
состоянии всю информацию, приемлемы
кредитные программы с повышенной
процентной ставкой.
Разумеется, очень многие сегодня работают
не официально, к примеру, фрилансеры, и
предоставить справку с места работы они не
могут. Для них простейший метод получить
денежные средства — кредит взять без
справок. В центрах микрофинансирования и по
кредитным картам как правило доступны
небольшие суммы. Они нужны для того, чтобы
продержаться до заработной платы, пенсии,
стипендии. Если пользоваться кредиткой
правильно и возвращать денежные средства в
срок (как правило в течение 50-55 дней), то
можно вовсе обойтись без дополнительных
процентов. Но, как показывает практика,
соблазн очень велик и многие тратят все
деньги полностью, а после оказываются в
долговой яме из-за огромного процента,
который способен достигать 60-70% годовых.
Не забывайте, любой кредит, это нагрузка и
перед тем, как его взять, следует
проанализировать все за и против. В
интернете на сегодняшний день существует
очень много тематических форумов, где можно
получить ответ на любой вопрос, например:
где оформляют кредитные карты лучший банк и
узнать полную информацию о скрытых
платежах и возможных рисках.

Пропофол (Диприван®, Рекофол®)

Механизм действия

 Общий неингаляционный анестетик
Показание        
— Вводный наркоз (болезненные манипуляции, в том числе электрическая кардиоверсия)
— Судороги, не купирующиеся введением диазепама или лоразепама
Форма выпуска
— Пропофол 10 мг/мл (1%) и 20 мг/мл (2%), ампула по 20 мл и флакон по 50 мл.
Дозировка взрослым и детям
— 1-2 мг/кг в/в, ориентируясь на уровень артериального давления.
— перед электрической кардиоверсией: по 20-40 мг дробно в/в до появления эффекта
Противопоказания
— Гипотензия
— Гиповолемический шок
Внимание
— Только для врачей, имеющих специализацию по анестезиологии
— Может быть угнетение дыхания, апноэ
— Может резко понизить АД, особенно при гиповолемии.