VintaSoft Imaging .NET SDK 14.0: Документация для .NET разработчика
Vintasoft.Imaging.Pdf.Drawing Namespace / PdfGraphics Class / DrawString Methods / DrawString(String,PdfFont,Single,Single,Single) Method
Синтаксис Ремарки Example Требования Смотрите также
В этом разделе
    DrawString(String,PdfFont,Single,Single,Single) Метод (PdfGraphics)
    В этом разделе
    Рисует указанную текстовую строку в указанном месте с помощью текущей кисти и указанных объектов PdfFont.
    Синтаксис
    'Declaration
    
    Public Overloads Sub DrawString( _
    ByVal s
    Строка для рисования.
    As System.String, _
    ByVal font
    PdfFont, который определяет текстовый формат строки.
    As Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont, _
    ByVal fontSize
    Размер шрифта.
    As Single, _
    ByVal x
    X координата нижнего- левый угол нарисованного текста.
    As Single, _
    ByVal y
    Y координата нижнего левого угла нарисованного текста.
    As Single _
    )
    public: void DrawString(
    System.String s,
    Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont* font,
    float fontSize,
    float x,
    float y
    )

    Parameters

    s
    Строка для рисования.
    font
    PdfFont, который определяет текстовый формат строки.
    fontSize
    Размер шрифта.
    x
    X координата нижнего- левый угол нарисованного текста.
    y
    Y координата нижнего левого угла нарисованного текста.
    Ремарки

    Этот метод игнорирует возврат каретки и символы новой строки.

    Используйте перегруженный метод, который принимает прямоугольник вместо точки, указывающей местоположение, если возврат каретки и символы новой строки НЕ следует игнорировать.

    Пример

    Вот пример, показывающий, как добавить текст (не прозрачный и прозрачный, не повернутый и не повернутый) на PDF страницу:

    
    ''' <summary>
    ''' Adds text (not transparent and transparent, not rotated and rotated) to a PDF page.
    ''' </summary>
    ''' <param name="pdfFilename">The PDF filename.</param>
    Public Shared Sub AddTextToPdfPage(pdfFilename As String)
        ' create new PDF document
        Using document As New Vintasoft.Imaging.Pdf.PdfDocument(pdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_16)
            ' add empty page (A4 size)
            Dim page As Vintasoft.Imaging.Pdf.Tree.PdfPage = document.Pages.Add(Vintasoft.Imaging.PaperSizeKind.A4)
    
            ' get PdfGraphics for PDF page
            Using g As Vintasoft.Imaging.Pdf.Drawing.PdfGraphics = page.GetGraphics()
                ' create a font that should be used for drawing a text
                Dim font As Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont = document.FontManager.GetStandardFont(Vintasoft.Imaging.Pdf.Tree.Fonts.PdfStandardFontType.TimesRoman)
    
                ' draw NOT transparent and NOT rotated text on PDF page
                Dim redBrush As New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Red)
                g.DrawString("Not transparent text", font, 30, redBrush, New System.Drawing.PointF(50, 250))
    
                ' draw transparent and NOT rotated text on PDF page
                Dim transparentRedBrush As New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.FromArgb(64, 255, 0, 0))
                g.DrawString("Transparent text", font, 30, transparentRedBrush, New System.Drawing.PointF(50, 350))
    
                ' draw NOT transparent and rotated text on PDF page
                Dim blueBrush As New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Blue)
                g.SaveGraphicsState()
                Dim m As New Vintasoft.Imaging.AffineMatrix()
                ' rotate at 30 degress around (X=50, Y=450) point
                m.RotateAt(30, 50, 450)
                g.MultiplyTransform(m)
                g.DrawString("Rotated text", font, 30, blueBrush, New System.Drawing.PointF(50, 450))
                g.RestoreGraphicsState()
            End Using
    
            ' save changes in PDF document
            document.SaveChanges()
        End Using
    End Sub
    
    
    
    /// <summary>
    /// Adds text (not transparent and transparent, not rotated and rotated) to a PDF page.
    /// </summary>
    /// <param name="pdfFilename">The PDF filename.</param>
    public static void AddTextToPdfPage(string pdfFilename)
    {
        // create new PDF document
        using (Vintasoft.Imaging.Pdf.PdfDocument document =
            new Vintasoft.Imaging.Pdf.PdfDocument(pdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_16))
        {
            // add empty page (A4 size)
            Vintasoft.Imaging.Pdf.Tree.PdfPage page = document.Pages.Add(
                Vintasoft.Imaging.PaperSizeKind.A4);
    
            // get PdfGraphics for PDF page
            using (Vintasoft.Imaging.Pdf.Drawing.PdfGraphics g = page.GetGraphics())
            {
                // create a font that should be used for drawing a text
                Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont font = document.FontManager.GetStandardFont(
                    Vintasoft.Imaging.Pdf.Tree.Fonts.PdfStandardFontType.TimesRoman);
    
                // draw NOT transparent and NOT rotated text on PDF page
                Vintasoft.Imaging.Pdf.Drawing.PdfBrush redBrush =
                    new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Red);
                g.DrawString("Not transparent text", font, 30, redBrush, new System.Drawing.PointF(50, 250));
    
                // draw transparent and NOT rotated text on PDF page
                Vintasoft.Imaging.Pdf.Drawing.PdfBrush transparentRedBrush =
                    new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.FromArgb(64, 255, 0, 0));
                g.DrawString("Transparent text", font, 30, transparentRedBrush, new System.Drawing.PointF(50, 350));
    
                // draw NOT transparent and rotated text on PDF page
                Vintasoft.Imaging.Pdf.Drawing.PdfBrush blueBrush =
                    new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Blue);
                g.SaveGraphicsState();
                Vintasoft.Imaging.AffineMatrix m = new Vintasoft.Imaging.AffineMatrix();
                // rotate at 30 degress around (X=50, Y=450) point
                m.RotateAt(30, 50, 450);
                g.MultiplyTransform(m);
                g.DrawString("Rotated text", font, 30, blueBrush, new System.Drawing.PointF(50, 450));
                g.RestoreGraphicsState();
            }
    
            // save changes in PDF document
            document.SaveChanges();
        }
    }
    
    

    Требования

    Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    Смотрите также