Domanda

Il mio obiettivo è quello di creare un eBook che posso leggere con il lettore di Mobipocket sul mio Blackberry. Il problema è che il mio testo include i caratteri UTF-8 che non sono supportate sul Blackberry, e quindi appaiono come riquadri neri.

L'eBook contiene un elenco di inglese e punjabi parole per riferimento, come ad esempio:

bait          ਦਾਣਾ
baked       ਭੁੰਨਿਆ
balance     ਵਿਚਾਰ

Un pensiero che avevo era di scrivere l'elenco per una tabella HTML con il Punjabi convertito in un file GIF o PNG. Quindi includere questo file HTML nel eBook. Tutte le parole attualmente esistono in un database di Access, ma potrebbe facilmente essere esportati in un'altra forma per l'ingresso alle routine di generazione.

DOMANDA: Utilizzo di VB, VBA o C #, quanto sia difficile sarebbe di scrivere creare una routine le immagini e poi di output un file HTML contenente le parole e le immagini in inglese in una tabella

È stato utile?

Soluzione 2

Uso VB

Sub createPNG(ByVal pngString As String, ByVal pngName As String)

' Set up Font
Dim pngFont As New Font("Raavi", 14)

' Create a bitmap so we can create the Grapics object 
Dim bm As Bitmap = New Bitmap(1, 1)
Dim gs As Graphics = Graphics.FromImage(bm)

' Measure string.
Dim pngSize As SizeF = gs.MeasureString(pngString, pngFont)

' Resize the bitmap so the width and height of the text 
bm = New Bitmap(Convert.ToInt32(pngSize.Width), Convert.ToInt32(pngSize.Height))

' Render the bitmap 
gs = Graphics.FromImage(bm)
gs.Clear(Color.White)
gs.TextRenderingHint = TextRenderingHint.AntiAlias
gs.DrawString(pngString, pngFont, Brushes.Firebrick, 0, 0)
gs.Flush()


'Saving this as a PNG file
Dim myFileOut As FileStream = New FileStream(pngName + ".png", FileMode.Create)
bm.Save(myFileOut, ImageFormat.Png)
myFileOut.Close()
End Sub

Altri suggerimenti

Ci sono semplici librerie in Python per la gestione di questo tipo di problema. Tuttavia non sono sicuro se c'è un banale VB / # soluzione C.

Con python devi utilizzare il PIL e codice simile a questa libreria (che ho trovato qui ):

# creates a 50x50 pixel black box with hello world written in white, 8 point Arial text
import Image, ImageDraw, ImageFont

i = Image.new("RGB", (50,50))
d = ImageDraw.Draw(i)
f = ImageFont.truetype("Arial.ttf", 8)
d.text((0,0), "hello world", font=f)
i.save(open("helloworld.png", "wb"), "PNG")

Se sei già familiarità con altri linguaggi Python dovrebbe essere abbastanza facile da imparare, e, a differenza VB / C # funziona praticamente su qualsiasi piattaforma. Python può anche aiutare a generare il codice HTML di andare avanti con le immagini generate. Ci sono alcuni esempi di questo qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top