У меня есть метод ниже, который должен был возвращать количество слоев в PDF, но он не работает. Когда я передаю путь к PDF-файлу, содержащему два слоя, свойство count слоя имеет значение 1. Я подтвердил двумя разными читателями PDF, что в PDF есть два слоя. Моя единственная мысль - ABCPDF выравнивает слои PDF во время чтения. Если да, то как я могу предотвратить это, поэтому возвращается точное количество количества слоев в PDF?Почему ABCPDF правильно подсчитывает слои PDF?
Спасибо
public static int GetPDFLayerCount(string pdfFile)
{
int layerCount = 0;
Doc doc = new Doc();
doc.SetInfo(0, "License", _License);
// Attempt to read File
try
{
if (System.IO.File.Exists(pdfFile) == false)
{
throw new ApplicationException("File does not exist.");
}
doc.Read(pdfFile);
layerCount = doc.LayerCount;
doc.Clear();
doc.Dispose();
}
catch (Exception ex)
{
System.ApplicationException appException = new ApplicationException(ex.Message + "\r\n\r\n" + pdfFile,ex);
throw appException;
}
return layerCount;
}
Как я думал, я протестировал свой метод с использованием PDF I, использующего ABCPDF, и метод LayerCount работал должным образом. Итак, я больше не думаю, что ABCPDF сглаживает PDF во время чтения. Итак, теперь я не понимаю, почему LayerCount не работает для файла, у которого не было слоев, добавленных через ABCPDF. Любая помощь приветствуется. – rsine
В качестве обновления я обнаружил, что iTextSharp имеет метод GetPDFLayers, который правильно обеспечивает подсчет слоев в PDF (оба, созданные с помощью ABCPDF, и те, которые не были). Благодарю. – rsine
Какую версию ABCPDF вы используете? –