示例#1
0
 private static iText.Kernel.Version AtomicSetVersion(iText.Kernel.Version newVersion)
 {
     lock (staticLock) {
         version = newVersion;
         return(version);
     }
 }
示例#2
0
        public virtual void ParseCurrentVersionTest()
        {
            iText.Kernel.Version instance = iText.Kernel.Version.GetInstance();
            // expected values
            String release = instance.GetRelease();
            String major   = "7";
            String minor   = iText.IO.Util.StringUtil.Split(release, "\\.")[1];

            String[] parseResults = iText.Kernel.Version.ParseVersionString(release);
            NUnit.Framework.Assert.AreEqual(2, parseResults.Length);
            NUnit.Framework.Assert.AreEqual(major, parseResults[0]);
            NUnit.Framework.Assert.AreEqual(minor, parseResults[1]);
        }
示例#3
0
        public virtual void ParseCustomCorrectVersionTest()
        {
            iText.Kernel.Version customVersion = new iText.Kernel.Version(new VersionInfo("iText®", "7.5.1-SNAPSHOT",
                                                                                          "iText® 7.5.1-SNAPSHOT ©2000-2090 iText Group NV (AGPL-version)", null), false);
            // expected values
            String major = "7";
            String minor = "5";

            String[] parseResults = iText.Kernel.Version.ParseVersionString(customVersion.GetRelease());
            NUnit.Framework.Assert.AreEqual(2, parseResults.Length);
            NUnit.Framework.Assert.AreEqual(major, parseResults[0]);
            NUnit.Framework.Assert.AreEqual(minor, parseResults[1]);
        }
        public string Get()
        {
            var    ms       = new MemoryStream();
            var    writer   = new PdfWriter(ms);
            var    pdf      = new PdfDocument(writer);
            var    document = new Document(pdf);
            var    info     = new iText.Kernel.Version();
            string result   = "ab-itext-dotnetcore-poc: " + info.GetProduct() + "," + info.GetRelease() + "," + info.GetVersion();

            // result.Content = new StreamContent(ms);
            // result.Content.Headers.ContentType =
            //     new MediaTypeHeaderValue("application/octet-stream");
            return(result);
        }
示例#5
0
        private static void CheckVersionInstance(iText.Kernel.Version instance)
        {
            String      product = instance.GetProduct();
            String      release = instance.GetRelease();
            String      version = instance.GetVersion();
            String      key     = instance.GetKey();
            VersionInfo info    = instance.GetInfo();

            NUnit.Framework.Assert.AreEqual(product, info.GetProduct());
            NUnit.Framework.Assert.AreEqual("iText®", product);
            NUnit.Framework.Assert.AreEqual(release, info.GetRelease());
            NUnit.Framework.Assert.IsTrue(release.Matches("[7]\\.[0-9]+\\.[0-9]+(-SNAPSHOT)?$"));
            NUnit.Framework.Assert.AreEqual(version, info.GetVersion());
            NUnit.Framework.Assert.IsTrue(CheckVersion(version));
            NUnit.Framework.Assert.IsNull(key);
        }
示例#6
0
 /// <summary>Gets an instance of the iText version that is currently used.</summary>
 /// <remarks>
 /// Gets an instance of the iText version that is currently used.
 /// Note that iText Group requests that you retain the iText producer line
 /// in every PDF that is created or manipulated using iText.
 /// </remarks>
 public static iText.Kernel.Version GetInstance()
 {
     lock (staticLock) {
         if (version != null)
         {
             return(version);
         }
     }
     iText.Kernel.Version localVersion = new iText.Kernel.Version();
     try {
         String   coreVersion = release;
         String[] info        = GetLicenseeInfoFromLicenseKey(coreVersion);
         if (info != null)
         {
             if (info[3] != null && info[3].Trim().Length > 0)
             {
                 localVersion.key = info[3];
             }
             else
             {
                 localVersion.key = "Trial version ";
                 if (info[5] == null)
                 {
                     localVersion.key += "unauthorised";
                 }
                 else
                 {
                     localVersion.key += info[5];
                 }
             }
             if (info.Length > 6)
             {
                 if (info[6] != null && info[6].Trim().Length > 0)
                 {
                     //Compare versions with this release versions
                     CheckLicenseVersion(coreVersion, info[6]);
                 }
             }
             if (info[4] != null && info[4].Trim().Length > 0)
             {
                 localVersion.producerLine = info[4];
             }
             else
             {
                 if (info[2] != null && info[2].Trim().Length > 0)
                 {
                     localVersion.AddLicensedPostfix(info[2]);
                 }
                 else
                 {
                     if (info[0] != null && info[0].Trim().Length > 0)
                     {
                         // fall back to contact name, if company name is unavailable.
                         // we shouldn't have a licensed version without company name,
                         // but let's account for it anyway
                         localVersion.AddLicensedPostfix(info[0]);
                     }
                     else
                     {
                         localVersion.AddAGPLPostfix(null);
                     }
                 }
             }
         }
         else
         {
             localVersion.AddAGPLPostfix(null);
         }
     }
     catch (LicenseVersionException lve) {
         //Catch the exception
         //Rethrow license version exceptions
         throw;
     }
     catch (TypeLoadException) {
         //License key library not on classpath, switch to AGPL
         localVersion.AddAGPLPostfix(null);
     }
     catch (Exception e) {
         //Check if an iText5 license is loaded
         if (e.InnerException != null && e.InnerException.Message.Equals(LicenseVersionException.LICENSE_FILE_NOT_LOADED
                                                                         ))
         {
             if (IsiText5licenseLoaded())
             {
                 throw new LicenseVersionException(LicenseVersionException.NO_I_TEXT7_LICENSE_IS_LOADED_BUT_AN_I_TEXT5_LICENSE_IS_LOADED
                                                   );
             }
         }
         localVersion.AddAGPLPostfix(e.InnerException);
     }
     return(AtomicSetVersion(localVersion));
 }
示例#7
0
 public virtual void CustomVersionIncorrectPatchTest()
 {
     iText.Kernel.Version customVersion = new iText.Kernel.Version(new VersionInfo("iText®", "7.50.a-SNAPSHOT",
                                                                                   "iText® 7.50.a-SNAPSHOT ©2000-2090 iText Group NV", null), false);
     NUnit.Framework.Assert.IsFalse(CheckVersion(customVersion.GetVersion()));
 }
示例#8
0
 public virtual void CustomVersionCorrectTest()
 {
     iText.Kernel.Version customVersion = new iText.Kernel.Version(new VersionInfo("iText®", "7.5.1-SNAPSHOT",
                                                                                   "iText® 7.5.1-SNAPSHOT ©2000-2090 iText Group NV", null), false);
     CheckVersionInstance(customVersion);
 }
示例#9
0
 public virtual void GetInstanceTest()
 {
     iText.Kernel.Version instance = iText.Kernel.Version.GetInstance();
     CheckVersionInstance(instance);
 }
示例#10
0
 public virtual void IsAGPLFalseTest()
 {
     iText.Kernel.Version customVersion = new iText.Kernel.Version(new VersionInfo("iText®", "7.5.1-SNAPSHOT",
                                                                                   "iText® 7.5.1-SNAPSHOT ©2000-2090 iText Group NV", null), false);
     NUnit.Framework.Assert.IsFalse(customVersion.IsAGPL());
 }