Что этот код C # делает и преобразовывает в PHP? - PullRequest
0 голосов
/ 24 ноября 2011

Я хочу преобразовать этот код в PHP, это функция, которая скрывает слои в файле PDF, но я не понимаю, как это происходит.

        public static void HidePDFLayers(string pdf_file, string output_file)
    {
        PdfReader reader = new PdfReader(pdf_file);
        PdfStamper stamp = new PdfStamper(reader, new FileStream(output_file, FileMode.Create));

        pdf_num_pages = reader.NumberOfPages;
        Dictionary<string, PdfLayer> layers = stamp.GetPdfLayers();

        int count = 0;

        foreach(KeyValuePair<string, PdfLayer> entry in layers )
        {
            PdfLayer layer = (PdfLayer)entry.Value;
            layer.On = false;
            count++;
        }

        stamp.Close();

        Console.WriteLine("[*] Number Of Layers Hidden: " + count);
        PDFToImages(output_file);
    }

Создает ли это новый PDF со всеми скрытыми слоями (какие слои, конечно, если бы они все были скрыты, в PDF ничего не было бы?)

Как бы я сделал то же самое с PHP?

1 Ответ

2 голосов
/ 24 ноября 2011

Как вы можете видеть здесь http://api.itextpdf.com/itext/com/itextpdf/text/pdf/PdfStamper.html, в документации сказано, что она получает слои в PDF-документе.Поэтому я думаю, что он получает все слои в документе PDF.

Затем он проходит по всем слоям, устанавливая для их видимости значение false, что скрывает их.

PS.Чем больше вы скажете о минусах, тем больше вы получите, я думаю;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...