本文整理匯總了C#中iTextSharp.text.pdf.parser.TextRenderInfo.GetAscentLine方法的典型用法代碼示例。如果您正苦於以下問題:C# TextRenderInfo.GetAscentLine方法的具體用法?C# TextRenderInfo.GetAscentLine怎麽用?C# TextRenderInfo.GetAscentLine使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類iTextSharp.text.pdf.parser.TextRenderInfo
的用法示例。
在下文中一共展示了TextRenderInfo.GetAscentLine方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: TextStyle
/// <summary>
/// Creates a TextStyle object by getting the font name and font size
/// from a TextRenderInfo object.
/// </summary>
/// <param name="textRenderInfo">Object that contains info about a text snippet</param>
public TextStyle(TextRenderInfo textRenderInfo)
{
String font = textRenderInfo.GetFont().FullFontName[0][3];
if (font.Contains("+"))
font = font.Substring(font.IndexOf("+") + 1, font.Length - font.IndexOf("+") - 1);
if (font.Contains("-"))
font = font.Substring(0, font.IndexOf("-"));
this.fontName = font;
this.fontSize = textRenderInfo.GetAscentLine().GetStartPoint()[1] - textRenderInfo.GetDescentLine().GetStartPoint()[1];
}
示例2: RenderText
/**
* Method invokes by the PdfContentStreamProcessor.
* Passes a TextRenderInfo for every text chunk that is encountered.
* We'll use this object to obtain coordinates.
* @see com.itextpdf.text.pdf.parser.RenderListener#renderText(com.itextpdf.text.pdf.parser.TextRenderInfo)
*/
virtual public void RenderText(TextRenderInfo renderInfo) {
if (textRectangle == null)
textRectangle = renderInfo.GetDescentLine().GetBoundingRectange();
else
textRectangle.Add(renderInfo.GetDescentLine().GetBoundingRectange());
textRectangle.Add(renderInfo.GetAscentLine().GetBoundingRectange());
}
示例3: GetRectangle
/// <summary>
/// Stores the start and end points and the ascent and descent info from
/// a text snippet into a Rectangle object.
/// </summary>
/// <param name="textRenderInfo">Object that contains info about a text snippet</param>
/// <returns>coordinates in the form of a Rectangle object</returns>
static Rectangle GetRectangle(TextRenderInfo textRenderInfo)
{
LineSegment descentLine = textRenderInfo.GetDescentLine();
LineSegment ascentLine = textRenderInfo.GetAscentLine();
float x0 = descentLine.GetStartPoint()[0];
float x1 = descentLine.GetEndPoint()[0];
float y0 = descentLine.GetStartPoint()[1];
float y1 = ascentLine.GetEndPoint()[1];
return new Rectangle(x0, y0, x1, y1);
}
示例4: AllowText
public override bool AllowText(TextRenderInfo renderInfo) {
LineSegment ascent = renderInfo.GetAscentLine();
LineSegment descent = renderInfo.GetDescentLine();
Rectangle r1 = new Rectangle(Math.Min(descent.GetStartPoint()[0], descent.GetEndPoint()[0]),
descent.GetStartPoint()[1],
Math.Max(descent.GetStartPoint()[0], descent.GetEndPoint()[0]),
ascent.GetEndPoint()[1]);
foreach (Rectangle rectangle in rectangles) {
if (Intersect(r1, rectangle)) {
return false;
}
}
return true;
}
示例5: RenderText
public override void RenderText(TextRenderInfo renderInfo)
{
base.RenderText(renderInfo);
var bottomLeft = renderInfo.GetDescentLine().GetStartPoint();
var topRight = renderInfo.GetAscentLine().GetEndPoint();
var rect = new iTextSharp.text.Rectangle(
bottomLeft[Vector.I1],
bottomLeft[Vector.I2],
topRight[Vector.I1],
topRight[Vector.I2]
);
this.containers.Add(new TextContainer()
{
Container = rect,
Text = renderInfo.GetText()
});
}
示例6: AllowText
public override bool AllowText(TextRenderInfo renderInfo) {
LineSegment ascent = renderInfo.GetAscentLine();
LineSegment descent = renderInfo.GetDescentLine();
Point2D[] glyphRect = new Point2D[] {
new Point2D.Float(ascent.GetStartPoint()[0], ascent.GetStartPoint()[1]),
new Point2D.Float(ascent.GetEndPoint()[0], ascent.GetEndPoint()[1]),
new Point2D.Float(descent.GetEndPoint()[0], descent.GetEndPoint()[1]),
new Point2D.Float(descent.GetStartPoint()[0], descent.GetStartPoint()[1]),
};
foreach (Rectangle rectangle in rectangles) {
Point2D[] redactRect = GetVertices(rectangle);
if (Intersect(glyphRect, redactRect)) {
return false;
}
}
return true;
}
示例7: RenderText
public void RenderText(TextRenderInfo renderInfo)
{
var curFont = renderInfo.GetFont().PostscriptFontName;
//Check if faux bold is used
if ((renderInfo.GetTextRenderMode() == (int) TextRenderMode.FillThenStrokeText))
curFont += "-Bold";
//This code assumes that if the baseline changes then we're on a newline
var curBaseline = renderInfo.GetBaseline().GetStartPoint();
var topRight = renderInfo.GetAscentLine().GetEndPoint();
var rect = new Rectangle(curBaseline[Vector.I1], curBaseline[Vector.I2], topRight[Vector.I1], topRight[Vector.I2]);
var curFontSize = rect.Height;
//See if something has changed, either the baseline, the font or the font size
if ((lastBaseLine == null) || (curBaseline[Vector.I2] != lastBaseLine[Vector.I2]) || (curFontSize != lastFontSize) ||
(curFont != lastFont))
{
//if we've put down at least one span tag close it
if ((lastBaseLine != null))
result.AppendLine("</span>");
//If the baseline has changed then insert a line break
if ((lastBaseLine != null) && curBaseline[Vector.I2] != lastBaseLine[Vector.I2])
result.AppendLine("<br />");
//Create an HTML tag with appropriate styles
result.AppendFormat("<span style=\"font-family:{0};font-size:{1}; position: relative; top: {2}; left: {3};\">",
curFont, curFontSize, 850 - rect.Top, rect.Left);
}
//Append the current text
result.Append(renderInfo.GetText());
//Set currently used properties
lastBaseLine = curBaseline;
lastFontSize = curFontSize;
lastFont = curFont;
}
示例8: RenderText
//Automatically called for each chunk of text in the PDF
public override void RenderText(TextRenderInfo renderInfo) {
base.RenderText(renderInfo);
//Get the bounding box for the chunk of text
var bottomLeft = renderInfo.GetDescentLine().GetStartPoint();
var topRight = renderInfo.GetAscentLine().GetEndPoint();
//Create a rectangle from it
var rect = new iTextSharp.text.Rectangle(
bottomLeft[Vector.I1],
bottomLeft[Vector.I2],
topRight[Vector.I1],
topRight[Vector.I2]
);
//Add this to our main collection
this.myPoints.Add(new RectAndText(rect, renderInfo.GetText()));
}
示例9: RenderText
public virtual void RenderText(TextRenderInfo renderInfo) {
Vector startPoint = renderInfo.GetDescentLine().GetStartPoint();
Vector endPoint = renderInfo.GetAscentLine().GetEndPoint();
float x1 = Math.Min(startPoint[0], endPoint[0]);
float x2 = Math.Max(startPoint[0], endPoint[0]);
float y1 = Math.Min(startPoint[1], endPoint[1]);
float y2 = Math.Max(startPoint[1], endPoint[1]);
rectangles.Add(new Rectangle(x1, y1, x2, y2));
}
示例10: RenderText
/// <summary>
///
/// </summary>
/// <param name="renderInfo"></param>
public override void RenderText(TextRenderInfo renderInfo)
{
iTextSharp.text.pdf.parser.LineSegment segment = renderInfo.GetBaseline();
TextChunkEx location = new TextChunkEx(renderInfo.GetText(), segment.GetStartPoint(), segment.GetEndPoint(), renderInfo.GetSingleSpaceWidth(), renderInfo.GetAscentLine(), renderInfo.GetDescentLine());
m_locationResult.Add(location);
}
示例11: RenderText
/// <summary>
///
/// </summary>
/// <param name="renderInfo"></param>
public override void RenderText(TextRenderInfo renderInfo)
{
LineSegment segment = renderInfo.GetBaseline();
string x = renderInfo.GetText();
TextChunk location = new TextChunk(renderInfo.GetText(), segment.GetStartPoint(), segment.GetEndPoint(), renderInfo.GetSingleSpaceWidth(), renderInfo.GetAscentLine(), renderInfo.GetDescentLine());
m_locationResult.Add(location);
}