PdfPageRenderer: Fix Rendering of null pages.
This commit is contained in:
@@ -24,15 +24,18 @@ namespace VAR.PdfTools
|
|||||||
{
|
{
|
||||||
_page = page;
|
_page = page;
|
||||||
_pdfTextExtractor = new PdfTextExtractor(_page);
|
_pdfTextExtractor = new PdfTextExtractor(_page);
|
||||||
|
InitPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PdfPageRenderer(PdfTextExtractor pdfTextExtractor)
|
public PdfPageRenderer(PdfTextExtractor pdfTextExtractor)
|
||||||
{
|
{
|
||||||
_pdfTextExtractor = pdfTextExtractor;
|
_pdfTextExtractor = pdfTextExtractor;
|
||||||
_page = pdfTextExtractor.Page;
|
_page = pdfTextExtractor.Page;
|
||||||
|
InitPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void InitPage()
|
||||||
// Calculate page size and scale
|
{
|
||||||
_pageRect = _pdfTextExtractor.GetRect();
|
_pageRect = _pdfTextExtractor.GetRect();
|
||||||
_pageWidth = (int)Math.Ceiling(_pageRect.XMax - _pageRect.XMin);
|
_pageWidth = (int)Math.Ceiling(_pageRect.XMax - _pageRect.XMin);
|
||||||
_pageHeight = (int)Math.Ceiling(_pageRect.YMax - _pageRect.YMin);
|
_pageHeight = (int)Math.Ceiling(_pageRect.YMax - _pageRect.YMin);
|
||||||
@@ -120,6 +123,7 @@ namespace VAR.PdfTools
|
|||||||
|
|
||||||
private static void DrawTextElement(PdfTextElement textElement, Graphics gc, Pen penTextElem, Pen penCharElem, int scale, int pageHeight, double pageXMin, double pageYMin, Brush brushText)
|
private static void DrawTextElement(PdfTextElement textElement, Graphics gc, Pen penTextElem, Pen penCharElem, int scale, int pageHeight, double pageXMin, double pageYMin, Brush brushText)
|
||||||
{
|
{
|
||||||
|
if (textElement == null) { return; }
|
||||||
double textElementX = textElement.GetX() - pageXMin;
|
double textElementX = textElement.GetX() - pageXMin;
|
||||||
double textElementY = textElement.GetY() - pageYMin;
|
double textElementY = textElement.GetY() - pageYMin;
|
||||||
double textElementWidth = textElement.VisibleWidth;
|
double textElementWidth = textElement.VisibleWidth;
|
||||||
|
|||||||
@@ -116,7 +116,10 @@ namespace VAR.PdfTools
|
|||||||
|
|
||||||
public static PdfTextElementColumn Empty { get; } = new PdfTextElementColumn();
|
public static PdfTextElementColumn Empty { get; } = new PdfTextElementColumn();
|
||||||
|
|
||||||
private PdfTextElementColumn() { }
|
private PdfTextElementColumn()
|
||||||
|
{
|
||||||
|
Elements = new List<PdfTextElement>();
|
||||||
|
}
|
||||||
|
|
||||||
public PdfTextElementColumn(PdfTextElement head, IEnumerable<PdfTextElement> elements, double y, double x1, double x2)
|
public PdfTextElementColumn(PdfTextElement head, IEnumerable<PdfTextElement> elements, double y, double x1, double x2)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user