JBIG2: Как удалить страницу из JBIG2-документа?
В этом разделе
Страницу JBIG2-документа можно удалить виртуально, т. е. страница будет помечена как удаленная, но данные страницы не будут удалены из файла. Также страницу JBIG2-документа можно удалить физически, т.е. страница будет удалена из каталога JBIG2-документа и также будут удалены все данные страницы.
Вот C#/VB.NET код, который демонстрирует, как "виртуально" удалить страницу из JBIG2-документа:
public void RemovePageFromJbig2FileVirtually(System.IO.Stream stream, int pageIndex)
{
// open JBIG2 file
using (Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File jbig2File =
new Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File(stream))
{
// remove page at specified index
jbig2File.Pages.RemoveAt(pageIndex);
// save changes
jbig2File.SaveChanges();
}
}
Public Sub RemovePageFromJbig2FileVirtually(stream As System.IO.Stream, pageIndex As Integer)
' open JBIG2 file
Using jbig2File As New Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File(stream)
' remove page at specified index
jbig2File.Pages.RemoveAt(pageIndex)
' save changes
jbig2File.SaveChanges()
End Using
End Sub
Вот C#/VB.NET код, который демонстрирует, как "физически" удалить страницу из JBIG2-документа:
public void RemovePageFromJbig2FilePhysically(System.IO.Stream stream, int pageIndex,
System.IO.Stream outputStream)
{
// open JBIG2 file
using (Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File jbig2File =
new Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File(stream))
{
// remove page at specified index
jbig2File.Pages.RemoveAt(pageIndex);
// save modified JBIG2 file to the outputStream,
// the source JBIG2 file is not changed
jbig2File.Pack(outputStream);
}
}
Public Sub RemovePageFromJbig2FilePhysically(stream As System.IO.Stream, pageIndex As Integer, outputStream As System.IO.Stream)
' open JBIG2 file
Using jbig2File As New Vintasoft.Imaging.Codecs.ImageFiles.Jbig2.Jbig2File(stream)
' remove page at specified index
jbig2File.Pages.RemoveAt(pageIndex)
' save modified JBIG2 file to the outputStream,
' the source JBIG2 file is not changed
jbig2File.Pack(outputStream)
End Using
End Sub