Exemplo n.º 1
0
        /// <summary>
        /// Render a box in PDF format
        /// </summary>
        /// <param name="pdf">pdf<param>
        /// <param name="pageSize">Page size.</param>
        internal override void RenderPDF(SimplePdf pdf, PageSize pageSize)
        {
            float fx      = x * pageSize.GetDPI;
            float fy      = (pageSize.GetHeightInCM - y) * pageSize.GetDPI;
            float fwidth  = m_w * pageSize.GetDPI;
            float fheight = -m_h * pageSize.GetDPI;

            pdf.SetColor(m_color.R / 255f, m_color.G / 255f, m_color.B / 255f);

            if (m_IsFull)
            {
                pdf.DrawRectangleFull((int)fx, (int)fy, (int)fwidth, (int)fheight);
            }
            else
            {
                pdf.DrawRectangle((int)fx, (int)fy, (int)fwidth, (int)fheight);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Render the label to a PDF
        /// </summary>
        /// <param name="pdf">pdf</param>
        /// <param name="pageSize">Page size.</param>
        internal override void RenderPDF(SimplePdf pdf, PageSize pageSize)
        {
            float xPos = x * pageSize.GetDPI;
            float yPos = (pageSize.GetHeightInCM - y - m_font.GetHeight()) * pageSize.GetDPI;

            pdf.SetFont(m_font.GetPDFFont(), (int)(m_font.Size * pageSize.GetDPI));
            pdf.SetColor(m_font.GetPDFColor.R_Normalized, m_font.GetPDFColor.G_Normalized, m_font.GetPDFColor.B_Normalized);

            if (Math.Abs(m_font.Angle) > 0.0001)                        // se compara con un epsilon por ser un float
            {
                float sinus      = (float)Math.Sin(m_font.Angle * degreesToRadiant);
                float cosinus    = (float)Math.Cos(m_font.Angle * degreesToRadiant);
                float fontHeight = (-m_font.GetDescentPoint() - m_font.GetHeight()) * pageSize.GetDPI;
                xPos = xPos - sinus * fontHeight;
                yPos = yPos + cosinus * fontHeight - fontHeight;
            }

            pdf.TextAngle(m_font.Angle);

            pdf.DrawText(m_text, (int)xPos, (int)yPos);
        }