Как добавить прозрачность при создании PDF с помощью pyfpdfPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить прозрачность при создании PDF с помощью pyfpdf

Сообщение Anonymous »

Я использую версию Python FPDF, PYFPDF для генерации PDF. Я хочу добавить прозрачность в прямоугольник, который я создал, используя PYFPDF. Я попытался следовать этому и написать код в Python, но он не сработал.
source < /strong> < /p>

Код: Выделить всё

< /code>

 использование < /strong> < /p>


< /code>

Это то, что я написал в Python: < /p>

 source < /strong> < /p>

class EXPDF(FPDF):

def __init__(self, orientation='P', unit='mm', style='A4'):
super(EXPDF, self).__init__(orientation=orientation, unit=unit, format=style)
self.page_format = style.lower()
self.extgstates = {}

def set_alpha(self, alpha, bm='Normal'):
gs = self.add_ext_gstate({'ca': alpha, 'CA': alpha, 'BM': '/'+bm})
self.set_ext_gstate(gs)

def add_ext_gstate(self, parms):
n = len(self.extgstates.keys())+1
if n not in self.extgstates.keys():
self.extgstates[n] = { 'parms': parms }
else:
self.extgstates[n]['parms'] = parms
return n

def set_ext_gstate(self, gs):
self._out(sprintf('/GS%d gs', gs))

def _enddoc(self):
if self.extgstates and self.pdf_version <  '1.4':
self.pdf_version = '1.4'
super()._enddoc()

def _putextgstates(self):
for i in range(1, len(self.extgstates.keys())+1):
self._newobj()
self.extgstates[i]['n'] = self.n
self._out('')
self._out('endobj')

def _putresourcedict(self):
super()._putresourcedict()
self._out('/ExtGState ')

< /code>

 использование < /strong> < /p>

pdf = EXPDF()
pdf.set_alpha(0.5)
pdf.rectangle(20, 20, 40, 40, 'DF')
< /code>

Код не добавил никакой ошибки, когда я ее запустил. Но когда я попытался открыть сгенерированный PDF в Adobe Acrobat, в нем говорится, что возникла проблема с чтением этого документа (135) 
. Я попытался открыть PDF в Google Chrome. Он открылся, но прямоугольник все еще был непрозрачным.

Подробнее здесь: https://stackoverflow.com/questions/571 ... ing-pyfpdf
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PyFPDF: autopagebreak приводит к тому, что на странице находится только одна строка
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Извлеките все изображения из PDF с помощью Python и сохраните их прозрачность.
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Извлеките все изображения из PDF с Python и сохраните их прозрачность
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как правильно оформить прозрачность поверхности трехмерного объекта с помощью освещения с помощью OpenGL
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Удалить прозрачность изображений с помощью C#
    Anonymous » » в форуме C#
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»