Pregunta

¿Cómo podría crear un generador de firmas de foro dinámico utilizando ASP.NET MVC? Actualmente tengo un buscador de estadísticas que recupera la información del usuario que se usará en la Firma del foro.

Estoy tratando de crear un generador de firmas de foro donde un usuario pueda ingresar su nombre de usuario y generar una imagen que pueda colocar en su firma de foro que muestre a todos los usuarios las estadísticas de los usuarios.

algo como esto http://www.xfire.com/miniprofile

Debo haber perdido el rastro de lo que estaba haciendo. No quise decir una información tan pequeña, pero creo que tendrás una idea de lo que estoy tratando de hacer ahora ...

¿Fue útil?

Solución

usaría el componente abcPdf, la imagen sería un documento pdf de alta resolución.

entonces solo deberías pasar texto, fuente, color, x, y, w, h

luego renderiza el PDF como una corriente jpg

una idea básica para ponerte en marcha podría ser así;

        private void addTextToPDF(string cmyk, int fs, string fontname, Double posx,
    Double posY, Double mWidth, Double mHeight, String text, Double hpos)
    {
        text = secure.reverseCleanup(text);
        int lettercount1 = 0;
        foreach (char c in text)
        { lettercount1 ++; }

        TheDoc.Color.String = cmyk;
        TheDoc.FontSize = fs;
        var theFont = fontname;
        TheDoc.Rect.Position(posx, posY);
        TheDoc.Rect.Width = mWidth;
        TheDoc.Rect.Height = mHeight;
        TheDoc.HPos = hpos;
        TheDoc.Font = TheDoc.EmbedFont(theFont, "Latin", false, true, true);
        int didwrite = TheDoc.AddText(text);
        string addedchars = TheDoc.GetInfo(didwrite, "Characters");
        var oldid = didwrite;

        if (addedchars != lettercount1.ToString())
            didwrite = 0;

        while (didwrite==0) // hits this if first run did not add text
        {
            TheDoc.Delete(oldid);
            fs = fs - 2;
            TheDoc.Color.String = cmyk;
            TheDoc.FontSize = fs;
            theFont = fontname;
            TheDoc.Rect.Position(posx, posY);
            TheDoc.Rect.Width = mWidth;
            TheDoc.Rect.Height = mHeight;
            TheDoc.HPos = hpos;
            TheDoc.Font = TheDoc.EmbedFont(theFont, "Latin", false, true, true);
            didwrite = TheDoc.AddText(secure.reverseCleanup(text));
            addedchars = TheDoc.GetInfo(didwrite, "Characters");
            oldid = didwrite;

            if (addedchars != lettercount1.ToString())
                didwrite = 0;
        }

    }

    public byte[] convertPDFToImageStream()
    {
        byte[] jpgBytes = null;
        byte[] theData = null;
        theData = TheDoc.GetData();
        TheDoc.Clear();
        TheDoc.Read(theData);
        TheDoc.Rendering.DotsPerInch = getDPI();
        TheDoc.Rendering.ColorSpace = "RGB";
        jpgBytes = TheDoc.Rendering.GetData("preview.jpg");

        return jpgBytes;
     }

ese es el código para agregar texto y también para representar el PDF como una corriente JPG muy muy buen componente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top