@@ -53,6 +53,10 @@ namespace iText.StyledXmlParser.Resolver.Resource {
5353 public class ResourceResolver {
5454 // TODO handle <base href=".."> tag?
5555 /// <summary>Identifier string used when loading in base64 images.</summary>
56+ public const String BASE64_IDENTIFIER = "base64" ;
57+
58+ /// <summary>Identifier string used when loading in base64 images.</summary>
59+ [ System . ObsoleteAttribute ( @"This variable will be replaced by BASE64_IDENTIFIER in 7.2 release" ) ]
5660 public const String BASE64IDENTIFIER = "base64" ;
5761
5862 /// <summary>Identifier string used to detect that the source is under data URI scheme.</summary>
@@ -333,7 +337,8 @@ public virtual bool IsImageTypeSupportedByImageDataFactory(String src) {
333337 protected internal virtual PdfXObject TryResolveBase64ImageSource ( String src ) {
334338 try {
335339 String fixedSrc = iText . IO . Util . StringUtil . ReplaceAll ( src , "\\ s" , "" ) ;
336- fixedSrc = fixedSrc . Substring ( fixedSrc . IndexOf ( BASE64IDENTIFIER , StringComparison . Ordinal ) + 7 ) ;
340+ fixedSrc = fixedSrc . Substring ( fixedSrc . IndexOf ( BASE64_IDENTIFIER , StringComparison . Ordinal ) + BASE64_IDENTIFIER
341+ . Length + 1 ) ;
337342 PdfXObject imageXObject = imageCache . GetImage ( fixedSrc ) ;
338343 if ( imageXObject == null ) {
339344 imageXObject = new PdfImageXObject ( ImageDataFactory . Create ( Convert . FromBase64String ( fixedSrc ) ) ) ;
@@ -381,7 +386,8 @@ private byte[] RetrieveBytesFromBase64Src(String src) {
381386 if ( IsContains64Mark ( src ) ) {
382387 try {
383388 String fixedSrc = iText . IO . Util . StringUtil . ReplaceAll ( src , "\\ s" , "" ) ;
384- fixedSrc = fixedSrc . Substring ( fixedSrc . IndexOf ( BASE64IDENTIFIER , StringComparison . Ordinal ) + 7 ) ;
389+ fixedSrc = fixedSrc . Substring ( fixedSrc . IndexOf ( BASE64_IDENTIFIER , StringComparison . Ordinal ) + BASE64_IDENTIFIER
390+ . Length + 1 ) ;
385391 return Convert . FromBase64String ( fixedSrc ) ;
386392 }
387393 catch ( Exception ) {
@@ -398,7 +404,7 @@ private byte[] RetrieveBytesFromBase64Src(String src) {
398404 /// <param name="src">string to test</param>
399405 /// <returns>true if string contains base64 mark</returns>
400406 private bool IsContains64Mark ( String src ) {
401- return src . Contains ( BASE64IDENTIFIER ) ;
407+ return src . Contains ( BASE64_IDENTIFIER ) ;
402408 }
403409 }
404410}
0 commit comments