Я могу создать pdf-файл из txt-файла с помощью reportlab. Это легко, но я хочу, чтобы какой-то текст был смелым, некоторые нормальные, некоторые - курсивом. Как я могу это сделать?Я хочу создать жирный и обычный текст в моем pdf
1
A
ответ
1
В their documentation есть хорошее представление. Грубо говоря, жирные и курсивные версии любого шрифта на самом деле отличаются шрифтами. Поэтому вы просто устанавливаете шрифт, когда хотите изменить шрифты. Возможно, это было затянуто, но работало для меня:
import reportlab
import os
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
canv = canvas.Canvas("fonts_demo.pdf")
font_variants = ("DejaVuSans","DejaVuSans-Oblique","DejaVuSans-Bold")
folder = '/usr/share/fonts/truetype/dejavu/'
for variant in font_variants:
pdfmetrics.registerFont(TTFont(variant, os.path.join(folder, variant+'.ttf')))
""" I could have registered each font with a line like this...
pdfmetrics.registerFont(TTFont(DejaVuSans, os.path.join(folder,'DejaVuSans.ttf')))
but I like just making a list of my fonts and then iterating through it. """
## 0,0 is the bottom left corner of the page
## and there are 72 dots per inch, so on an 8.5 inch page
## the top left corner is at 8.5 * 72
## canvas actually generates an A4 sheet, but this is close enough.
x = 0; y = 8.5 * 72
canv.setFont('DejaVuSans-Bold', 30)
canv.drawString(x,y,"This is bold")
## Move down one inch to draw the next line:
y = y - 72
canv.setFont('DejaVuSans-Oblique', 30)
canv.drawString(x,y,"This is oblique, aka italic")
## Move down one inch again:
y = y - 72
canv.setFont('DejaVuSans', 30)
canv.drawString(x,y,"This is neither bold nor italic")
## Save your work
canv.save()
Смежные вопросы
- 1. Жирный и обычный текст в пунктах ListView
- 2. Как преобразовать обычный текст в жирный текст?
- 3. Альтернативный жирный и обычный текст в нижнем колонтитуле phpWord
- 4. Я хочу создать метод в моем перечислении?
- 5. Как создать жирный и обычный шрифт в одном UILabel в iPhone?
- 6. Как иметь жирный и обычный текст в том же текстовом виде в android?
- 7. Изменить текст текста на жирный
- 8. Как преобразовать текст в обычный обычный текст?
- 9. Я хочу, чтобы создать файл в формате PDF в Java и поместить текст на определенном месте
- 10. Java docx4j Жирный текст
- 11. я хочу, чтобы преобразовать текст в PDF в Android
- 12. Лучший способ извлечения только жирный текст из PDF
- 13. я хочу Int в моем текстовом поле и в моем другом я хочу строку с «если»
- 14. Я хочу обычный запрос к запросу codeigniter
- 15. Не используйте жирный шрифт шрифта, если обычный не существует
- 16. Я хочу создать столбец value_counts в моем pandas dataframe
- 17. Open Sans в Google Fonts превратил обычный шрифт в жирный
- 18. JQuery $ ('ID') текст с Жирный
- 19. Scrapy не снимает жирный текст
- 20. Я хочу показать арабский текст из pdf с помощью pdfbox?
- 21. Обычный текст в UITextView
- 22. JavaScript: создать Pdf из div (HTML и обычный текст, без изображений)
- 23. Вставить ссылку в жирный текст в reStructuredText
- 24. Xpath текста, содержащего Жирный текст
- 25. Я хочу, чтобы html в моем собственном тексте, но этот текст ускользает
- 26. Android - Жирный текст текста в EditText
- 27. Я хочу преобразовать изображение в pdf (высокое качество), но в моем изображении программы отображается как обрезанное в моем pdf
- 28. Я хочу использовать getElementsByName в моем коде
- 29. Многомерный Обычный pdf в Scipy
- 30. Я хочу получить текст с динамическим номером
PS. Технически «наклонный» и «курсив» разные. Но это еще один вопрос/может червей – Amanda