コード例 #1
0
        public ContentStreamProcessor(PdfRectangle cropBox, IResourceStore resourceStore, UserSpaceUnit userSpaceUnit, PageRotationDegrees rotation,
                                      IPdfTokenScanner pdfScanner,
                                      IPageContentParser pageContentParser,
                                      IFilterProvider filterProvider,
                                      ILog log,
                                      bool clipPaths)
        {
            this.resourceStore     = resourceStore;
            this.userSpaceUnit     = userSpaceUnit;
            this.rotation          = rotation;
            this.pdfScanner        = pdfScanner ?? throw new ArgumentNullException(nameof(pdfScanner));
            this.pageContentParser = pageContentParser ?? throw new ArgumentNullException(nameof(pageContentParser));
            this.filterProvider    = filterProvider ?? throw new ArgumentNullException(nameof(filterProvider));
            this.log       = log;
            this.clipPaths = clipPaths;

            // initiate CurrentClippingPath to cropBox
            var clippingSubpath = new PdfSubpath();

            clippingSubpath.Rectangle(cropBox.BottomLeft.X, cropBox.BottomLeft.Y, cropBox.Width, cropBox.Height);
            var clippingPath = new PdfPath()
            {
                clippingSubpath
            };

            clippingPath.SetClipping(FillingRule.NonZeroWinding);

            graphicsStack.Push(new CurrentGraphicsState()
            {
                CurrentClippingPath = clippingPath
            });
            ColorSpaceContext = new ColorSpaceContext(GetCurrentState, resourceStore);
        }
コード例 #2
0
 public PageFactory(IResourceStore resourceStore, IPdfObjectParser pdfObjectParser, IFilterProvider filterProvider,
                    IPageContentParser pageContentParser)
 {
     this.resourceStore     = resourceStore;
     this.pdfObjectParser   = pdfObjectParser;
     this.filterProvider    = filterProvider;
     this.pageContentParser = pageContentParser;
 }
コード例 #3
0
ファイル: PageFactory.cs プロジェクト: hello-web/PdfPig
 public PageFactory(IPdfTokenScanner pdfScanner, IResourceStore resourceStore, IFilterProvider filterProvider,
                    IPageContentParser pageContentParser,
                    ILog log)
 {
     this.resourceStore     = resourceStore;
     this.filterProvider    = filterProvider;
     this.pageContentParser = pageContentParser;
     this.log        = log;
     this.pdfScanner = pdfScanner;
 }
コード例 #4
0
ファイル: PageFactory.cs プロジェクト: Omsaaf/PdfPig
 public PageFactory(IPdfTokenScanner pdfScanner, IResourceStore resourceStore, IFilterProvider filterProvider,
                    IPageContentParser pageContentParser,
                    XObjectFactory xObjectFactory)
 {
     this.resourceStore     = resourceStore;
     this.filterProvider    = filterProvider;
     this.pageContentParser = pageContentParser;
     this.xObjectFactory    = xObjectFactory;
     this.pdfScanner        = pdfScanner;
 }
コード例 #5
0
 public ContentStreamProcessor(PdfRectangle cropBox, IResourceStore resourceStore, UserSpaceUnit userSpaceUnit, PageRotationDegrees rotation,
                               IPdfTokenScanner pdfScanner,
                               IPageContentParser pageContentParser,
                               IFilterProvider filterProvider,
                               ILog log)
 {
     this.resourceStore     = resourceStore;
     this.userSpaceUnit     = userSpaceUnit;
     this.rotation          = rotation;
     this.pdfScanner        = pdfScanner ?? throw new ArgumentNullException(nameof(pdfScanner));
     this.pageContentParser = pageContentParser ?? throw new ArgumentNullException(nameof(pageContentParser));
     this.filterProvider    = filterProvider ?? throw new ArgumentNullException(nameof(filterProvider));
     this.log = log;
     graphicsStack.Push(new CurrentGraphicsState());
     ColorSpaceContext = new ColorSpaceContext(GetCurrentState, resourceStore);
 }