BitMiracle.Tiff2Pdf.T2P.write_pdf_page C# (CSharp) Method

write_pdf_page() private method

private write_pdf_page ( int obj ) : int
obj int
return int
        private int write_pdf_page(int obj)
        {
            int written = writeToFile("<<\n/Type /Page \n/Parent ");

            string buffer = string.Format(CultureInfo.InvariantCulture, "{0}", m_pdf_pages);
            written += writeToFile(buffer);
            written += writeToFile(" 0 R \n");
            written += writeToFile("/MediaBox [");
            buffer = string.Format(CultureInfo.InvariantCulture, "{0:F4}", m_pdf_mediabox.x1);
            written += writeToFile(buffer);
            written += writeToFile(" ");
            buffer = string.Format(CultureInfo.InvariantCulture, "{0:F4}", m_pdf_mediabox.y1);
            written += writeToFile(buffer);
            written += writeToFile(" ");
            buffer = string.Format(CultureInfo.InvariantCulture, "{0:F4}", m_pdf_mediabox.x2);
            written += writeToFile(buffer);
            written += writeToFile(" ");
            buffer = string.Format(CultureInfo.InvariantCulture, "{0:F4}", m_pdf_mediabox.y2);
            written += writeToFile(buffer);
            written += writeToFile("] \n");
            written += writeToFile("/Contents ");
            buffer = string.Format(CultureInfo.InvariantCulture, "{0}", obj + 1);
            written += writeToFile(buffer);
            written += writeToFile(" 0 R \n");
            written += writeToFile("/Resources << \n");

            if (m_tiff_pages[m_pdf_page].page_tilecount != 0)
            {
                written += writeToFile("/XObject <<\n");
                for (int i = 0; i < m_tiff_pages[m_pdf_page].page_tilecount; i++)
                {
                    written += writeToFile("/Im");
                    buffer = string.Format(CultureInfo.InvariantCulture, "{0}", m_pdf_page + 1);
                    written += writeToFile(buffer);
                    written += writeToFile("_");
                    buffer = string.Format(CultureInfo.InvariantCulture, "{0}", i + 1);
                    written += writeToFile(buffer);
                    written += writeToFile(" ");
                    buffer = string.Format(CultureInfo.InvariantCulture,
                        "{0}", obj + 3 + 2 * i + m_tiff_pages[m_pdf_page].page_extra);
                    written += writeToFile(buffer);
                    written += writeToFile(" 0 R ");
                    if (i % 4 == 3)
                        written += writeToFile("\n");
                }

                written += writeToFile(">>\n");
            }
            else
            {
                written += writeToFile("/XObject <<\n");
                written += writeToFile("/Im");
                buffer = string.Format(CultureInfo.InvariantCulture, "{0}", m_pdf_page + 1);
                written += writeToFile(buffer);
                written += writeToFile(" ");
                buffer = string.Format(CultureInfo.InvariantCulture,
                    "{0}", obj + 3 + m_tiff_pages[m_pdf_page].page_extra);
                written += writeToFile(buffer);
                written += writeToFile(" 0 R ");
                written += writeToFile(">>\n");
            }

            if (m_tiff_transferfunctioncount != 0)
            {
                written += writeToFile("/ExtGState <<");
                writeToFile("/GS1 ");
                buffer = string.Format(CultureInfo.InvariantCulture, "{0}", obj + 3);
                written += writeToFile(buffer);
                written += writeToFile(" 0 R ");
                written += writeToFile(">> \n");
            }

            written += writeToFile("/ProcSet [ ");
            if (m_pdf_colorspace == t2p_cs_t.T2P_CS_BILEVEL || m_pdf_colorspace == t2p_cs_t.T2P_CS_GRAY)
            {
                written += writeToFile("/ImageB ");
            }
            else
            {
                written += writeToFile("/ImageC ");
                if ((m_pdf_colorspace & t2p_cs_t.T2P_CS_PALETTE) != 0)
                    written += writeToFile("/ImageI ");
            }

            written += writeToFile("]\n>>\n>>\n");
            return written;
        }