Отзывы


I have used Vintasoft’s libraries for the past five years and credit them for delivering high-valued software that is well priced and functionally robust. Vintasoft’s components are well designed and they consistently release updates that improve reliability and performance. I highly recommend developers to consider the Vintasoft tools as a natural plug-in for any project you tackle.

Paul Smietan
CTO GoScan, Inc.





VintaSoftJBIG2.NET Plug-in - FAQ

Общие вопросы:

 

Распространение:

 

Продажи:

 

JBIG2:

 

Программирование:

 

 

Для каких целей я могу использовать VintaSoftJBIG2.NET Plug-in?

VintaSoftJBIG2.NET является встраиваемым модулем библиотеки VintaSoftImaging.NET и может использоваться для визуализации, манипуляции и создания отдельных и встроенных в PDF файл черно-белых JBIG2 изображений.

 

 

Что включает в себя данный Plug-in?

Библиотека включает в себя:

  • Vintasoft.Imaging.JBIG2Codec.dll - полностью управляемый .NET компонент
  • Документацию в формате MS Help Workshop (VintaSoft.Imaging.chm файл)
  • Примеры для MS Visual Basic.NET, MS Visual C#, ASP.NET (см. каталог Examples)
  • Демонстрационные приложения (см. каталог Bin\v2.0)

 

 

В каких языках программирования я могу использовать этот компонент?

Лицензия разработчика и лицензия для компании позволяют использовать компонент в:

  • Microsoft Visual Studio .NET : Visual Basic, Visual C#, Visual C++, Visual J#
  • Borland Delphi 8.0, Borland C# Builder, Borland C++ BuilderX
  • любых языках программирования и приложениях, совместимых с .NET технологией.

Лицензия для сервера позволяет использовать компонент в:

  • В интернет / интранет приложениях на стороне сервера (ASP.NET или PHP)

 

 

Какие ограничения имеет незарегистрированная версия библиотеки?

Незарегистрированная версия имеет следующие ограничения в использовании:

  • всплывающее окно "О регистрации"
  • Mmr кодирование отключено
  • Водяной знак

Все эти ограничения отсутствуют в зарегистрированной версии.

 

 

Я не нашел ответа на свой вопрос. Что мне делать?

Информация по большинству вопросов может быть найдена в документации или в этом FAQ. Если Вы не нашли ответа на свой вопрос, тогда напишите письмо в службу технической поддержки.

 

 

Какие файлы мне нужно включать в дистрибутив моей программы?

Вам нужно включить в дистрибутив Вашей программы два файла: Vintasoft.Imaging.dll, Vintasoft.Imaging.JBIG2Codec.dll. При установке Вашей программы эти файлы должны быть помещены в каталог на который была ссылка при компиляции программы.

 

 

Могу ли я распространять компонент вместе с моим приложением без какой либо дополнительной оплаты?

Да, Вы можете распространять компонент вместе со своим приложением. Вы платите только за первоначальную регистрацию.

Только файл Vintasoft.Imaging.JBIG2Codec.dll может распространяться с Вашим приложением. Лицензия для компании не имеет ограничений в распространении. Лицензия для разработчика имеет некоторые ограничения в распространении. Пожалуйста, читайте лицензионное соглашение.

 

 

Что делать если распространение моей программы, созданной на основе Лицензии для разработчика, может превысить 100 копий в текущем году?

Если Вы обладаете Лицензией для разработчика и распространение Вашей программы может превысить 100 копий в текущем году, Вам необходимо обратиться в Отдел продаж "ВинтаСофт", где Вам будет предоставлена возможность апгрейда до Лицензии для организации со скидкой 30% или предложено купить дополнительную Лицензию для разработчика.

 

 

Каковы различия между Лицензией для разработчика и Лицензией для организации?

  • Лицензия для разработчика должна быть использована в разработке программ только одним программистом, чьё имя указано в данных лицензии.
  • Лицензия для организации должна быть использована в разработке программ любым программистом работающим на компанию, чьё название указано в данных лицензии.
  • Лицензия для разработчика может быть использована в разработке программ на любом ПК находящемся по любому физическому адресу.
  • Лицензия для организации должна быть использована в разработке программ на любом ПК находящемся по одному физическому адресу (только в одном офисе).
  • Лицензия для разработчика разрешает распространение программ, включающих в себя предназначенные для распространения файлы SDK, не более 100 копий в год.
  • Лицензия для организации разрешает неограниченное распространение программ, включающих в себя предназначенные для распространения файлы SDK.

 

 

Есть ли разница в использовании моего приложения на настольном ПК или на сервере?

Да, есть. Пожалуйста, прочитайте раздел "Deploying" в документации этого продукта, чтобы понять в чем разница.

Термины: Desktop PC - установлена ОС Windows XP, Vista, 7. Server - установлена ОС Windows Server 2000, 2003, 2008.

 

 

Я не могу открыть JBIG2 файл. Что мне делать?

Пожалуста пришлите нам "плохой" файл. Мы его проанализируем и обновим алгоритм чтения файлов, если изображение является корректным.

 

 

Как влияет размер словаря символов на размер файла и скорость кодирования?

В общем случае, чем больше размер словаря, тем лучше сжатие, но медленнее скорость кодирования. Не рекомендуется устанавливать количество символов в словаре менее 200 или более 10000.

 

 

Какие преимущества и недостатки есть у MMR и арифметического кодирования?

Арифметическое кодирование сжимает примерно в 1.4 раза лучше, но в 2.5 раза медленнее, чем MMR.

 

 

Когда стоит использовать организацию файла 'random-access'?

Только в случаях, когда вы уверены, что сторонний JBIG2 декодер оптимизирован на работу с такой организацией файла.

 

 

Как настроить энкодер на наивысшую скорость?

Вам необходимо задать свойству Jbig2EncoderSettings.UseMMR значение 'true', а свойству Jbig2EncoderSettings.UseSymbolDictionary значение 'false'.

 

 

Как настроить энкодер на наилучшее сжатие?

Вам необходимо задать свойству Jbig2EncoderSettings.UseMMR значение 'false', а свойству Jbig2EncoderSettings.UseSymbolDictionary значение 'true'.

 

 

Как максимально сжать файлы, пусть даже с потерей качества?

Вы можете задать свойству Jbig2EncoderSettings.Lossy значение 'true'. При необходимости, можно также задать допустимый уровень потерь качества через свойство Jbig2EncoderSettings.Inaccuracy.

 

 

Как сконвертировать TIFF в JBIG2 используя ImageCollection и JBIG2Encoder?

Вот пример:

[VB.NET]
Public Shared Sub ConvertTiffToJBIG2(tiffFileName As String, jbig2FileName As String)
    ' create ImageCollection
    Dim imageCollection As New ImageCollection()
    ' add Tiff file to collecion
    imageCollection.Add(tiffFileName)
    ' create JBIG2 encoder using default compression settings
    Dim jbig2Encoder As New JBIG2Encoder()
    ' save pages using JBIG2 encoder
    imageCollection.SaveSync(jbig2FileName, jbig2Encoder)
    ' free resources
    jbig2Encoder.Dispose()
    imageCollection.Dispose()
End Sub

[C#]
public static void ConvertTiffToJBIG2(string tiffFileName, string jbig2FileName)
{
  // create ImageCollection
  ImageCollection imageCollection = new ImageCollection();
  // add Tiff file to collecion
  imageCollection.Add(tiffFileName);
  // create JBIG2Encoder using default compression settings
  JBIG2Encoder jbig2Encoder = new JBIG2Encoder();
  // save pages using JBIG2 encoder
  imageCollection.SaveSync(jbig2FileName, jbig2Encoder);
  // free resources
  jbig2Encoder.Dispose();
  imageCollection.Dispose();
}

 

 

Как сконвертировать JBIG2 в TIFF используя ImageCollection и TIFFEncoder?

Вот пример:

[VB.NET]
Public Shared Sub ConvertJBIG2ToTiff(jbig2FileName As String, tiffFileName As String)
    ' create ImageCollection
    Dim imageCollection As New ImageCollection()
    ' add JBIG2 file to collecion
    imageCollection.Add(jbig2FileName)
    ' create Tiff encoder
    Dim tiffEncoder As New TIFFEncoder()
    ' set Tiff compression to ZIP
    tiffEncoder.Compression = TiffCompression.ZIP
    ' save pages using Tiff encoder
    imageCollection.SaveSync(tiffFileName, tiffEncoder)
    ' free resources
    tiffEncoder.Dispose()
    imageCollection.Dispose()
End Sub

[C#]
public static void ConvertJBIG2ToTiff(string jbig2FileName, string tiffFileName)
{
    // create ImageCollection
    ImageCollection imageCollection = new ImageCollection();
    // add JBIG2 file to collecion
    imageCollection.Add(jbig2FileName);
    // create Tiff encoder
    TIFFEncoder tiffEncoder = new TIFFEncoder();
    // set Tiff compression to ZIP
    tiffEncoder.Compression = TiffCompression.ZIP;
    // save pages using Tiff encoder
    imageCollection.SaveSync(tiffFileName, tiffEncoder);
    // free resources
    tiffEncoder.Dispose();
    imageCollection.Dispose();
}