[Gelöst] Einzelne Worte in PDF fett drucken

Für allgemeine Fragen zur Programmierung mit PureBasic.
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

[Gelöst] Einzelne Worte in PDF fett drucken

Beitrag von MenschMarkus »

Ein heißes Hallo (36°C Außentemperatur)

Ich versuche bei der Ausgabe von Text in einer "PDF Zelle"/"PDF Multi Zelle" einige Worte in Fettschrift auszugeben. Da habe ich gerade mal keine Idee wie man das verwirklichen kann.
ich verwende das Modul von Lucky Luke / ABBKlaus normeus.
(Die Modulumsetzung von Thorsten1867 ist zwar noch nicht umgesetzt wäre aber kein Problem.)

vielleicht hat einer eine Idee.?
Zuletzt geändert von MenschMarkus am 01.07.2019 11:58, insgesamt 1-mal geändert.
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Einzelne Worte in PDF fett drucken

Beitrag von Thorsten1867 »

Jedes Wort muss eine eigene Zelle bekommen und davor muss jeweils der Zeichensatz geändert werden.
Die Zellen werden dann aneinandergereiht.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

[Gelöst] Einzelne Worte in PDF fett drucken

Beitrag von MenschMarkus »

OK, erst mal vielen Dank für die Info.

Aber wie sieht es dann bei längerem Text mit Blocksatz aus. Die Multi_Cell ist da ja sehr komfortabel..

Edit 01.07.2019

Meine Lösung mit dem Umbruch sieht wie folgt aus:

Code: Alles auswählen

XIncludeFile "pbPDFModule.pbi"

#PDFFile = 1

Procedure   PDFFooter_Module()
  PDF::SetPosY(#PDFFile,-15)
  PDF::SetFont(#PDFFile,"Helvetica","I",9)
  PDF::Cell(#PDFFile,"Seite  {p} / {tp}",#PB_Default,10,0,0,PDF::#CenterAlign)
  PDF::Ln(#PDFFile,6)
  PDF::SetFont(#PDFFile,"Helvetica","I",4)
  PDF::Cell(#PDFFile,"( © <Name> 2019 )  <Complete footer information> ",#PB_Default,10,0,0,PDF::#CenterAlign)
EndProcedure

Procedure runPDF()
  Protected i.i
  PDF::SETFont(#PDFFile,"Helvetica","",10) 
  PDF::FooterProcedure(@PDFFooter_Module())
  PDF::Create(#PDFFile,"P")
  PDF::SetAliasTotalPages(#PDFFile,"{tp}")
  PDF::EnableFooter(#PDFFile,#True)
  PDF::SetPageNumbering(#PDFFile,#True)
  PDF::AddPage(#PDFFile)
  PDF::SetPosX(#PDFFile,10)
  For i = 33 To 1000
    PDF::Cell(#PDFFile,Chr(i),PDF::GetStringWidth(#PDFFile,Chr(i)),5,0,0,PDF::#LeftAlign) 
    If PDF::GetPosX(#PDFFile) > (PDF::GetPageWidth(#PDFFile) - 20)    ;Zeilenumbruch am rechten Rand
      PDF::Ln(#PDFFile,5)
      PDF::SetPosX(#PDFFile,10)
    EndIf
  Next
  PDF::AddPage(#PDFFile)
  PDF::Close(#PDFFile,"Savepdftest.pdf")
  PDF::Save(#PDFFile,"Savepdftest.pdf")
  RunProgram("Savepdftest.pdf")
EndProcedure

runPDF()
Zur Anwendung kam hier die pbPDFModule.pbi von Thorsten. (Download s.o.)
An dieser Stelle noch mal vielen Dank für Deine Arbeit. :allright:
Wissen schadet nur dem, der es nicht hat !
Antworten