本文整理匯總了C#中iTextSharp.text.pdf.PdfDictionary.GetAsStream方法的典型用法代碼示例。如果您正苦於以下問題:C# PdfDictionary.GetAsStream方法的具體用法?C# PdfDictionary.GetAsStream怎麽用?C# PdfDictionary.GetAsStream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類iTextSharp.text.pdf.PdfDictionary
的用法示例。
在下文中一共展示了PdfDictionary.GetAsStream方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: ExtractLocationsFromRedactAnnot
/**
* Extracts locations from the concrete annotation.
* Note: annotation can consist not only of one area specified by the RECT entry, but also of multiple areas specified
* by the QuadPoints entry in the annotation dictionary.
*/
private IList<PdfCleanUpLocation> ExtractLocationsFromRedactAnnot(int page, int annotIndex, PdfDictionary annotDict) {
IList<PdfCleanUpLocation> locations = new List<PdfCleanUpLocation>();
List<Rectangle> markedRectangles = new List<Rectangle>();
PdfArray quadPoints = annotDict.GetAsArray(PdfName.QUADPOINTS);
if (quadPoints.Size != 0) {
markedRectangles.AddRange(TranslateQuadPointsToRectangles(quadPoints));
} else {
PdfArray annotRect = annotDict.GetAsArray(PdfName.RECT);
markedRectangles.Add(new Rectangle(annotRect.GetAsNumber(0).FloatValue,
annotRect.GetAsNumber(1).FloatValue,
annotRect.GetAsNumber(2).FloatValue,
annotRect.GetAsNumber(3).FloatValue));
}
clippingRects.Add(annotIndex, markedRectangles);
BaseColor cleanUpColor = null;
PdfArray ic = annotDict.GetAsArray(PdfName.IC);
if (ic != null) {
cleanUpColor = new BaseColor(
ic.GetAsNumber(0).FloatValue,
ic.GetAsNumber(1).FloatValue,
ic.GetAsNumber(2).FloatValue
);
}
PdfStream ro = annotDict.GetAsStream(PdfName.RO);
if (ro != null) {
cleanUpColor = null;
}
foreach (Rectangle rect in markedRectangles) {
locations.Add(new PdfCleanUpLocation(page, rect, cleanUpColor));
}
return locations;
}
示例2: ParseTag
/**
* Searches for a tag in a page.
*
* @param tag
* the name of the tag
* @param obj
* an identifier to find the marked content
* @param page
* a page dictionary
* @throws IOException
*/
public void ParseTag(String tag, PdfObject obj, PdfDictionary page) {
PRStream stream = (PRStream) page.GetAsStream(PdfName.CONTENTS);
// if the identifier is a number, we can extract the content right away
if (obj is PdfNumber) {
PdfNumber mcid = (PdfNumber) obj;
RenderFilter filter = new MarkedContentRenderFilter(mcid.IntValue);
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
FilteredTextRenderListener listener = new FilteredTextRenderListener(strategy, new RenderFilter[]{filter});
PdfContentStreamProcessor processor = new PdfContentStreamProcessor(
listener);
processor.ProcessContent(PdfReader.GetStreamBytes(stream), page
.GetAsDict(PdfName.RESOURCES));
outp.Write(SimpleXMLParser.EscapeXML(listener.GetResultantText(), true));
}
// if the identifier is an array, we call the parseTag method
// recursively
else if (obj is PdfArray) {
PdfArray arr = (PdfArray) obj;
int n = arr.Size;
for (int i = 0; i < n; i++) {
ParseTag(tag, arr[i], page);
if (i < n - 1)
outp.WriteLine();
}
}
// if the identifier is a dictionary, we get the resources from the
// dictionary
else if (obj is PdfDictionary) {
PdfDictionary mcr = (PdfDictionary) obj;
ParseTag(tag, mcr.GetDirectObject(PdfName.MCID), mcr
.GetAsDict(PdfName.PG));
}
}
示例3: Parse
/// <summary>
/// Uses the OCGParser on a page </summary>
/// <param name="parser"> the OCGParser </param>
/// <param name="page"> the page dictionary of the page that needs to be parsed. </param>
/// <exception cref="IOException"> </exception>
private void Parse(OCGParser parser, PdfDictionary page)
{
PRStream stream = (PRStream)page.GetAsStream(PdfName.CONTENTS);
PdfDictionary resources = page.GetAsDict(PdfName.RESOURCES);
parser.Parse(stream, resources);
}