/// <summary> /// Renders the image to PDF /// </summary> /// <param name="pdf">Cb.</param> /// <param name="pageSize">Page size.</param> internal override void RenderPDF(SimplePdf pdf, PageSize pageSize) { pdf.DrawImage(m_image, x * pageSize.GetDPI, (pageSize.GetHeightInCM - y - m_h) * pageSize.GetDPI, m_w * pageSize.GetDPI, m_h * pageSize.GetDPI); }
/// <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); } }
/// <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); }
/// <summary> /// Draw this element to a PDF /// </summary> /// <param name="cb">PDF writer</param> internal abstract void RenderPDF(SimplePdf pdf, PageSize pageSize);