LEADTOOLS画像ファイルサポート(Leadtools.Codecsアセンブリ)

フレームを表示

LoadSvg(Stream、Int32、CodecsLoadSvgOptions)メソッド








入力ストリーム。
ロードする1から始まるページ番号。
SVGをロードするために使われるオプション。これは、nullでありえます。
image、ドキュメントまたはベクトルファイルを含むストリームからのページをSVGとしてロードします。
構文
'Declaration
 
Public Overloads Function LoadSvg( _
   ByVal stream As Stream, _
   ByVal pageNumber As Integer, _
   ByVal options As CodecsLoadSvgOptions _
) As ISvgDocument
'Usage
 
Dim instance As RasterCodecs
Dim stream As Stream
Dim pageNumber As Integer
Dim options As CodecsLoadSvgOptions
Dim value As ISvgDocument
 
value = instance.LoadSvg(stream, pageNumber, options)
- (nullable id<ISvgDocument>)loadSvgStream:(LTLeadStream *)stream 
                                      page:(NSInteger)pageNumber 
                                   options:(nullable LTCodecsLoadSvgOptions *)options 
                                     error:(NSError **)error
            
public ISvgDocument loadSvg(
   ILeadStream stream, 
   int pageNumber, 
   CodecsLoadSvgOptions options
)
            
 function Leadtools.Codecs.RasterCodecs.LoadSvg(Stream,Int32,CodecsLoadSvgOptions)( 
   stream ,
   pageNumber ,
   options 
)

パラメーター

ストリーム
入力ストリーム。
pageNumber
ロードする1から始まるページ番号。
オプション
SVGをロードするために使われるオプション。これは、nullでありえます。

戻り値

ページのSVGドキュメント表現。
解説

SVG(Scalable Vector Graphics)として任意のサポートされたimage、ドキュメントまたはベクトルファイルから1ページでロードするために、このメソッドを使います。ファイルをSVGとしてロードするには、以下の条件を満たさなければなりません。

状態 説明
ファイルフォーマットは、SVGです

SVGは、SVGとしてロードされることができます

ファイルフォーマットは、ドキュメントです

GetInformationを呼び出すとき、ドキュメントファイルフォーマットのどれでも、LEADTOOLSによってそのようなDOCX/doc、PPTX/PPT、XLSX/XL、RTF、TXT、AFP、ICAその他をサポートしましたこれらの形式が、CodecsDocumentImageInfo.IsDocumentFileプロパティをtrueに設定します

ファイルフォーマットは、ベクトルです

DXF、DWG、等、LEADTOOLSによってサポートされる任意のベクトルファイル形式。これらの形式では、GetInformationを呼び出すときCodecsVectorImageInfo.IsVectorFileプロパティをTrueに設定します。

ファイルフォーマットは、PDFです

PDFファイルは、純粋なラスターデータ以上のものを格納します(スキャンされていないPDFファイル等)。

入力ファイルをSVGとしてロードできるかどうかを判断するには、CanLoadSvgメソッドを使います。

通常の形式フィルターアセンブリ(Leadtools.Codecs.*)に加えて、以下の追加のアセンブリは、SVGとしてロードをサポートするために必要かもしれません

Assembly 説明
Leadtools.Svg

SVGサポート。常に、必要です

Leadtools.Vector

入力ドキュメントがベクトルファイルであるならば、必要です

Leadtools.Pdf

入力ドキュメントがPDFファイルであるならば、必要です

通常、返されたISvgDocumentLeadtools.Svg.SvgDocumentにキャストされ、データの取得、ターゲットファイルへのレンダリング、別ファイルへの保存等、そのほかのSVG機能を引き続き利用できます。

結果SVGドキュメント平面度を確認しなければならなくて、続行する前に、必要な操作を実行しなければなりません。

ファイルかストリームがSVGとしてロードされることができるかどうか決定するために、CanLoadSvg(string fileName)またはCanLoadSvg(Streamストリーム)を使います。

ディスクファイルからのSVGとしてロードするために、LoadSvg(string fileName、int pageNumber、CodecsLoadSvgOptionsオプション)を使います。

非同期でSVGとしてロードするために、LoadSvgAsyncを使います。

詳細については、「SVGの操作」を参照してください。

サンプル

このサンプルはSVGサポートのためにドキュメントとイメージファイルのフォルダを確認して、そして各々のサポートされたファイルの最初のページをロードして、結果SVGを保存します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
Imports Leadtools.Drawing
Imports Leadtools.Svg

Public Shared Sub LoadSvgExample()
   ' input directory
   Dim inDir As String = LEAD_VARS.ImagesDir
   ' output directory
   Dim outDir As String = Path.Combine(LEAD_VARS.ImagesDir, "svgpages")
   If Not Directory.Exists(outDir) Then
      Directory.CreateDirectory(outDir)
   End If
   Using codecs As New RasterCodecs()
      ' Set 300 as the default value for loading document files
      codecs.Options.RasterizeDocument.Load.Resolution = 300

      codecs.ThrowExceptionsOnInvalidImages = False

      ' Get all the files from input directory
      For Each srcFileName As String In Directory.EnumerateFiles(inDir)
         Console.WriteLine("Checking {0}", srcFileName)
         Using info As CodecsImageInfo = codecs.GetInformation(srcFileName, False)
            ' We can load as SVG if its document or vector (skipping SVG files themselves)
            If info.Format <> RasterImageFormat.Unknown AndAlso _
               info.Format <> RasterImageFormat.Svg AndAlso _
               (info.Document.IsDocumentFile OrElse _
               info.Vector.IsVectorFile) Then
               ' try to load the first page as SVG
               Try
                  Using svgDocument As SvgDocument = DirectCast(codecs.LoadSvg(srcFileName, 1, Nothing), SvgDocument)
                     ' Save it to disk
                     Dim name As String = Path.GetFileName(srcFileName).Replace(".", "-")
                     name = Path.ChangeExtension(name, "svg")
                     Dim dstFileName As String = Path.Combine(outDir, name)
                     Console.WriteLine("Saving to {0}", dstFileName)
                     svgDocument.SaveToFile(dstFileName, Nothing)
                  End Using
               Catch ex As Exception
                  Console.WriteLine(ex.Message)
               End Try
            End If
         End Using
      Next
   End Using
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
using Leadtools.Svg;

public static void LoadSvgExample()
{
   // input directory
   string inDir = ImagesPath.Path;
   // output directory
   string outDir = Path.Combine(ImagesPath.Path, "svgpages");
   if (!Directory.Exists(outDir))
      Directory.CreateDirectory(outDir);
   using (var codecs = new RasterCodecs())
   {
      // Set 300 as the default value for loading document files
      codecs.Options.RasterizeDocument.Load.Resolution = 300;

      codecs.ThrowExceptionsOnInvalidImages = false;

      // Get all the files from input directory
      foreach (var srcFileName in Directory.EnumerateFiles(inDir))
      {
         Console.WriteLine("Checking {0}", srcFileName);
         using (var info = codecs.GetInformation(srcFileName, false))
         {
            // We can load as SVG if its document or vector (skipping SVG files themselves)
            if (info.Format != RasterImageFormat.Unknown && // valid format
               info.Format != RasterImageFormat.Svg && // not svg
               (info.Document.IsDocumentFile || // a document
               info.Vector.IsVectorFile)) // or vector
            {
               // try to load the first page as SVG
               try
               {
                  using (SvgDocument svgDocument = codecs.LoadSvg(srcFileName, 1, null) as SvgDocument)
                  {
                     // Save it to disk
                     string name = Path.GetFileName(srcFileName).Replace(".", "-");
                     name = Path.ChangeExtension(name, "svg");
                     string dstFileName = Path.Combine(outDir, name);
                     Console.WriteLine("Saving to {0}", dstFileName);
                     svgDocument.SaveToFile(dstFileName, null);
                  }
               }
               catch (Exception ex)
               {
                  Console.WriteLine(ex.Message);
               }
            }
         }
      }
   }
}
必要条件

ターゲットプラットホーム

参照

参照

RasterCodecsクラス
RasterCodecsメンバ
オーバーロードリスト
Leadtools.ISvgDocument
SVGの操作
SVGのサイズ、領域およびフラット
SVGのレンダリング