#itext #itext7
#itext #itext7
Вопрос:
Я написал пользовательский разделитель, чтобы разделить мой PDF-файл по контурам / закладкам. Это работает, но проблема в том, что последний документ остается открытым и поврежден. В документе показано, что имеется 71 контур, но разделитель возвращает только 70, хотя он создал 71 документ.
Вот пользовательский разделитель:
class CustomSplitter : PdfSplitter
{
private int _order;
private readonly string _destinationFolder;
private readonly string _podName;
private readonly IList<string> _splitFileNames;
public CustomSplitter(PdfDocument pdfDocument, string destinationFolder, string podName, IList<string> splitFileNames) : base(pdfDocument)
{
_destinationFolder = destinationFolder;
_order = 0;
_podName = podName;
_splitFileNames = splitFileNames;
}
protected override PdfWriter GetNextPdfWriter(PageRange documentPageRange)
{
string splitFileName = _destinationFolder "\" _podName _order ".pdf";
_splitFileNames.Add(splitFileName);
return new PdfWriter(splitFileName);
}
}
Мне нужно отслеживать имена файлов, чтобы я мог их переименовывать. Я вызываю свой пользовательский разделитель с помощью этого кода:
IList<string> splitFileNames = new List<string>();
PdfSplitter pdfSplitter = new CustomSplitter(pdfDoc, yearDir, fileName, splitFileNames);
IList<PdfDocument> splitDocs = pdfSplitter.SplitByOutlines(outlineNames);
Это первый раз, когда я публикую здесь. Я выполнил поиск и не нашел ничего, что использовало бы SplitByOutlines.
Спасибо.
Комментарии:
1. Привет, пожалуйста, приложите PDF-файл, чтобы воспроизвести проблему
2. Привет, как мне это сделать? Я не вижу способа прикрепить файлы.
3. Просто используйте любую службу обмена файлами (OneDrive, Dropbox и т.д.) И опубликуйте ссылку на файл.