Reads all the tags stored in a TIFF file, along with the offsets for each tag.
public IList<RasterTagMetadata> ReadTagsWithOffsets(
string fileName,
int pageNumber,
out long[] offsets
)
Public Overloads Function ReadTagsWithOffsets( _
ByVal fileName As String, _
ByVal pageNumber As Integer, _
ByRef offsets As Long() _
) As IList(Of RasterTagMetadata)
- (nullable NSArray<LTRasterTagMetadata *> *)readTagsFromFile:(NSString *)file
pageNumber:(NSInteger)pageNumber
offsets:(NSMutableArray<NSNumber *> *)offsets
error:(NSError **)error
public:
IList<RasterTagMetadata^>^ ReadTagsWithOffsets(
String^ fileName,
int pageNumber,
[Out] array<int64> offsets
)
fileName
A String containing the input file name.
pageNumber
1-based index of the page from which to read the tags.
offsets
An array that contains the offsets for each tag.
A collection of RasterTagMetadata containing all the tags found in the file. If the file does not contain any tags, an empty collection will be returned. If the file format does not support tags, an exception will be thrown.
To read a specific tag stored in a file, use ReadTag and to enumerate all the tag ids (but not the data) stored in a file use EnumTags.
This method will throw an exception if the file format does not support tags. To determine whether a file format supports tags, use TagsSupported. You can also automatically load all the tags stored in a file during a load operation by setting the CodecsLoadOptions.Tags property to true. The tags data will be stored in the resulting image RasterImage.Tags collection.
To load all the tags stored in a stream containing the image data, use ReadTags.
This example will load all the tags, with their offsets, from a file.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;
using LeadtoolsExamples.Common;
public void ReadTagsWithOffsetsExample()
{
// Prompt the user for an image file
string imageFileName = PromptForFileName();
// Initialize LEADTOOLS
using (RasterCodecs codecs = new RasterCodecs())
{
// Get the file format
RasterImageFormat format;
using (CodecsImageInfo info = codecs.GetInformation(imageFileName, false))
{
format = info.Format;
}
// Load the tags, with their offsets
IList<RasterTagMetadata> tags = null;
long[] offsets = null;
if (RasterCodecs.TagsSupported(format))
tags = codecs.ReadTagsWithOffsets(imageFileName, 1, out offsets);
string txtFileName = Path.Combine(
Path.GetDirectoryName(imageFileName),
Path.GetFileNameWithoutExtension(imageFileName) + "_metadata.txt");
using (StreamWriter writer = File.CreateText(txtFileName))
{
// Write the tags
WriteTags(writer, "Tags", tags, offsets);
}
// Show the text file we created
System.Diagnostics.Process.Start(txtFileName);
}
}
private static void WriteTags(StreamWriter writer, string name, IList<RasterTagMetadata> tags, long[] offsets)
{
writer.WriteLine("{0}:", name);
if (tags != null)
{
int x = 0;
foreach (RasterTagMetadata tag in tags)
{
writer.WriteLine("Id: 0x{0}, offset: {1}", tag.Id.ToString("X"), offsets[x]);
x++;
}
}
else
{
writer.WriteLine("Not supported");
}
writer.WriteLine();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg
Private Shared Sub ReadTagsWithOffsetsExample()
' Prompt the user for an image file
Dim imageFileName As String = PromptForFileName()
' Initialize LEADTOOLS
Using codecs As New RasterCodecs()
' Get the file format
Dim format As RasterImageFormat
Using info As CodecsImageInfo = codecs.GetInformation(imageFileName, False)
format = info.Format
End Using
' Load the tags, with their offsets
Dim tags As IList(Of RasterTagMetadata) = Nothing
Dim offsets As Long() = Nothing
If RasterCodecs.TagsSupported(format) Then
tags = codecs.ReadTagsWithOffsets(imageFileName, 1, offsets)
End If
Dim txtFileName As String = Path.Combine(
Path.GetDirectoryName(imageFileName),
Path.GetFileNameWithoutExtension(imageFileName) + "_metadata.txt")
Using writer As StreamWriter = File.CreateText(txtFileName)
' Write the tags
WriteTags(writer, "Tags", tags, offsets)
End Using
' Show the text file we created
System.Diagnostics.Process.Start(txtFileName)
End Using
End Sub
Private Shared Sub WriteTags(ByVal writer As StreamWriter, ByVal name As String, ByVal tags As IList(Of RasterTagMetadata), ByVal offsets As Long())
writer.WriteLine("{0}:", name)
If Not IsNothing(tags) Then
Dim x As Integer = 0
For Each tag As RasterTagMetadata In tags
writer.WriteLine("Id: 0x{0}, offset: {1}", tag.Id.ToString("X"), offsets(x))
x = x + 1
Next
Else
writer.WriteLine("Not supported")
End If
writer.WriteLine()
End Sub
ReadTag(String,Int32,Int32) Method
Implementing TIFF Comments and Tags
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document