BitMiracle.Tiff2Pdf.T2P.write_pdf_info C# (CSharp) 메소드

write_pdf_info() 개인적인 메소드

private write_pdf_info ( Tiff input ) : int
input BitMiracle.LibTiff.Classic.Tiff
리턴 int
        private int write_pdf_info(Tiff input)
        {
            if (m_pdf_datetime == null)
                pdf_tifftime(input);

            int written = writeToFile("<< ");
            if (!m_testFriendly)
            {
                if (strlen(m_pdf_datetime) > 0)
                {
                    written += writeToFile("\n/CreationDate ");
                    written += write_pdf_string(m_pdf_datetime);
                    written += writeToFile("\n/ModDate ");
                    written += write_pdf_string(m_pdf_datetime);
                }

                written += writeToFile("\n/Producer ");
                string buffer = string.Format(CultureInfo.InvariantCulture,
                    "libtiff / tiff2pdf - {0}", Tiff.AssemblyVersion);
                written += write_pdf_string(Latin1Encoding.GetBytes(buffer));
            }

            written += writeToFile("\n");

            FieldValue[] result = null;
            if (m_pdf_creator != null)
            {
                if (strlen(m_pdf_creator) > 0)
                {
                    byte[] buf = m_pdf_creator;
                    if (strlen(m_pdf_creator) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(m_pdf_creator, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Creator ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }
            else
            {
                result = input.GetField(TiffTag.SOFTWARE);
                if (result != null)
                {
                    byte[] info = result[0].ToByteArray();
                    byte[] buf = info;
                    if (strlen(info) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(info, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Creator ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }

            if (m_pdf_author != null)
            {
                if (strlen(m_pdf_author) > 0)
                {
                    byte[] buf = m_pdf_author;
                    if (strlen(m_pdf_author) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(m_pdf_author, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Author ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }
            else
            {
                result = input.GetField(TiffTag.ARTIST);
                if (result != null)
                {
                    byte[] info = result[0].ToByteArray();
                    byte[] buf = info;
                    if (strlen(info) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(info, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Author ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
                else
                {
                    result = input.GetField(TiffTag.COPYRIGHT);
                    if (result != null)
                    {
                        byte[] info = result[0].ToByteArray();
                        byte[] buf = info;
                        if (strlen(info) > 511)
                        {
                            buf = new byte[512];
                            Buffer.BlockCopy(info, 0, buf, 0, 511);
                        }

                        written += writeToFile("/Author ");
                        written += write_pdf_string(buf);
                        written += writeToFile("\n");
                    }
                }
            }

            if (m_pdf_title != null)
            {
                if (strlen(m_pdf_title) > 0)
                {
                    byte[] buf = m_pdf_title;
                    if (strlen(m_pdf_title) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(m_pdf_title, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Title ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }
            else
            {
                result = input.GetField(TiffTag.DOCUMENTNAME);
                if (result != null)
                {
                    byte[] info = result[0].ToByteArray();
                    byte[] buf = info;
                    if (strlen(info) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(info, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Title ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }

            if (m_pdf_subject != null)
            {
                if (strlen(m_pdf_subject) > 0)
                {
                    byte[] buf = m_pdf_subject;
                    if (strlen(m_pdf_subject) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(m_pdf_subject, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Subject ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }
            else
            {
                result = input.GetField(TiffTag.IMAGEDESCRIPTION);
                if (result != null)
                {
                    byte[] info = result[0].ToByteArray();
                    byte[] buf = info;
                    if (strlen(info) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(info, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Subject ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }

            if (m_pdf_keywords != null)
            {
                if (strlen(m_pdf_keywords) > 0)
                {
                    byte[] buf = m_pdf_keywords;
                    if (strlen(m_pdf_keywords) > 511)
                    {
                        buf = new byte[512];
                        Buffer.BlockCopy(m_pdf_keywords, 0, buf, 0, 511);
                    }

                    written += writeToFile("/Keywords ");
                    written += write_pdf_string(buf);
                    written += writeToFile("\n");
                }
            }

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