Files
PdfPig/src/UglyToad.Pdf.Tests/Parser/PageContentParserTests.cs

426 lines
6.2 KiB
C#
Raw Normal View History

namespace UglyToad.Pdf.Tests.Parser
{
using Graphics;
using Pdf.Parser;
using Xunit;
public class PageContentParserTests
{
private readonly PageContentParser parser = new PageContentParser();
[Fact]
public void CorrectlyExtractsOperations()
{
var input = StringBytesTestConverter.Convert(SimpleGoogleDocPageContent, false);
var result = parser.Parse(new ReflectionGraphicsStateOperationFactory(), input.Bytes);
}
private const string SimpleGoogleDocPageContent = @"
1 0 0 -1 0 792 cm
q
0 0 612 792 re
W* n
q
.75 0 0 .75 0 0 cm
1 1 1 RG 1 1 1 rg
/G0 gs
0 0 816 1056 re
f
0 0 816 1056 re
f
0 0 816 1056 re
f
Q
Q
q
0 0 612 791.25 re
W* n
q
.75 0 0 .75 0 0 cm
1 1 1 RG 1 1 1 rg
/G0 gs
0 0 816 1055 re
f
0 96 816 960 re
f
0 0 0 RG 0 0 0 rg
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
96 0 Td <0037> Tj
13.0280762 0 Td <004B> Tj
11.8616943 0 Td <004C> Tj
4.7384338 0 Td <0056> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
136.292267 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
136.292267 0 Td <0003> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
142.217911 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
142.217911 0 Td <004C> Tj
4.7384338 0 Td <0056> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
157.620407 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
157.620407 0 Td <0003> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
163.546051 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
163.546051 0 Td <0057> Tj
5.9256439 0 Td <004B> Tj
11.8616943 0 Td <0048> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
193.19508 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
193.19508 0 Td <0003> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
199.12073 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
199.12073 0 Td <0047> Tj
11.8616943 0 Td <0052> Tj
11.8616943 0 Td <0046> Tj
10.6640625 0 Td <0058> Tj
11.8616943 0 Td <0050> Tj
17.766479 0 Td <0048> Tj
11.8616943 0 Td <0051> Tj
11.8616943 0 Td <0057> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
292.7854 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
292.7854 0 Td <0003> Tj
ET
BT
/F1 21.33 Tf
1 0 0 -1 0 140 Tm
298.71106 0 Td <0001> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
298.71106 0 Td <0057> Tj
5.9256287 0 Td <004C> Tj
4.7384338 0 Td <0057> Tj
5.9256592 0 Td <004F> Tj
4.7384033 0 Td <0048> Tj
ET
BT
/F0 21.33 Tf
1 0 0 -1 0 140 Tm
331.89063 0 Td <0003> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 171 Tm
96 0 Td <0003> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
96 0 Td <0037> Tj
8.9526215 0 Td <004B> Tj
8.1511078 0 Td <0048> Tj
8.1511078 0 Td <0055> Tj
4.8806458 0 Td <0048> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
134.286591 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
134.286591 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
138.358566 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
138.358566 0 Td <004C> Tj
3.2561493 0 Td <0056> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
148.942841 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
148.942841 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
153.014816 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
153.014816 0 Td <0056> Tj
7.328125 0 Td <0052> Tj
8.1511078 0 Td <0050> Tj
12.2087708 0 Td <0048> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
188.85393 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
188.85393 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
192.9259 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
192.9259 0 Td <004F> Tj
3.2561493 0 Td <0048> Tj
8.1511078 0 Td <0047> Tj
8.1511078 0 Td <0048> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
220.63538 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
220.63538 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
224.70735 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
224.70735 0 Td <0057> Tj
4.0719757 0 Td <0048> Tj
8.1511078 0 Td <005B> Tj
7.328125 0 Td <0057> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
248.33054 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
248.33054 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 191 Tm
252.40251 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
252.40251 0 Td <004B> Tj
8.1511078 0 Td <0048> Tj
8.1510925 0 Td <0055> Tj
4.8806763 0 Td <0048> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 191 Tm
281.73438 0 Td <0003> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 211 Tm
96 0 Td <0003> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
96 0 Td <0024> Tj
9.7756042 0 Td <0051> Tj
8.1511078 0 Td <0047> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
122.07782 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
122.07782 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
126.149796 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
126.149796 0 Td <0057> Tj
4.0719757 0 Td <004B> Tj
8.1511078 0 Td <0048> Tj
8.1511078 0 Td <0051> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
154.675095 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
154.675095 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
158.74707 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
158.74707 0 Td <0044> Tj
8.1511078 0 Td <0051> Tj
8.1511078 0 Td <0052> Tj
8.1511078 0 Td <0057> Tj
4.0719757 0 Td <004B> Tj
8.1511078 0 Td <0048> Tj
8.1511078 0 Td <0055> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
208.45523 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
208.45523 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
212.52721 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
212.52721 0 Td <004F> Tj
3.2561493 0 Td <004C> Tj
3.2561493 0 Td <0051> Tj
8.1511078 0 Td <0048> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
235.34172 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
235.34172 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
239.4137 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
239.4137 0 Td <0052> Tj
8.1511078 0 Td <0049> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
251.63678 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
251.63678 0 Td <0003> Tj
ET
BT
/F1 14.6599998 Tf
1 0 0 -1 0 231 Tm
255.70876 0 Td <0001> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
255.70876 0 Td <0057> Tj
4.0719757 0 Td <0048> Tj
8.1510925 0 Td <005B> Tj
7.328125 0 Td <0057> Tj
4.071991 0 Td <0011> Tj
ET
BT
/F0 14.6599998 Tf
1 0 0 -1 0 231 Tm
283.39063 0 Td <0003> Tj
ET
Q
Q
";
}
}