diff --git a/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs b/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs index e553a68e..887cd3c6 100644 --- a/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs +++ b/src/UglyToad.PdfPig.Tests/Writer/PdfDocumentBuilderTests.cs @@ -399,7 +399,7 @@ } [Fact] - public void CanWriteSinglePageWithJpg() + public void CanWriteSinglePageWithJpeg() { var builder = new PdfDocumentBuilder(); var page = builder.AddPage(PageSize.A4); @@ -417,7 +417,7 @@ page.AddJpeg(imageBytes, expectedBounds); var bytes = builder.Build(); - WriteFile(nameof(CanWriteSinglePageWithJpg), bytes); + WriteFile(nameof(CanWriteSinglePageWithJpeg), bytes); using (var document = PdfDocument.Open(bytes)) { diff --git a/src/UglyToad.PdfPig.Tokens/NameToken.Constants.cs b/src/UglyToad.PdfPig.Tokens/NameToken.Constants.cs index 46ce485d..a2c08385 100644 --- a/src/UglyToad.PdfPig.Tokens/NameToken.Constants.cs +++ b/src/UglyToad.PdfPig.Tokens/NameToken.Constants.cs @@ -278,6 +278,9 @@ public static readonly NameToken If = new NameToken("IF"); public static readonly NameToken Im = new NameToken("IM"); public static readonly NameToken Image = new NameToken("Image"); + public static readonly NameToken ImageB = new NameToken("ImageB"); + public static readonly NameToken ImageC = new NameToken("ImageC"); + public static readonly NameToken ImageI = new NameToken("ImageI"); public static readonly NameToken ImageMask = new NameToken("ImageMask"); public static readonly NameToken Index = new NameToken("Index"); public static readonly NameToken Indexed = new NameToken("Indexed"); diff --git a/src/UglyToad.PdfPig/Images/JpegHandler.cs b/src/UglyToad.PdfPig/Images/JpegHandler.cs index c0d50caa..c8de3ed3 100644 --- a/src/UglyToad.PdfPig/Images/JpegHandler.cs +++ b/src/UglyToad.PdfPig/Images/JpegHandler.cs @@ -33,8 +33,8 @@ // ReSharper disable once UnusedVariable var length = ReadShort(stream, shortBuffer); var bpp = stream.ReadByte(); - var width = ReadShort(stream, shortBuffer); var height = ReadShort(stream, shortBuffer); + var width = ReadShort(stream, shortBuffer); return new JpegInformation(width, height, bpp); } diff --git a/src/UglyToad.PdfPig/Parser/PageFactory.cs b/src/UglyToad.PdfPig/Parser/PageFactory.cs index 2c48f8bf..f41316a6 100644 --- a/src/UglyToad.PdfPig/Parser/PageFactory.cs +++ b/src/UglyToad.PdfPig/Parser/PageFactory.cs @@ -142,6 +142,8 @@ var operations = pageContentParser.Parse(pageNumber, new ByteArrayInputBytes(contentBytes), log); + var text = OtherEncodings.BytesAsLatin1String(contentBytes); + var context = new ContentStreamProcessor(cropBox.Bounds, resourceStore, userSpaceUnit, rotation, pdfScanner, pageContentParser, filterProvider, diff --git a/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs b/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs index 76fd7fd2..280ea91b 100644 --- a/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs +++ b/src/UglyToad.PdfPig/Writer/PdfDocumentBuilder.cs @@ -247,9 +247,18 @@ context.WriteObject(memory, streamToken, image.Value.ObjectNumber); } + var procSet = new List + { + NameToken.Create("PDF"), + NameToken.Text, + NameToken.ImageB, + NameToken.ImageC, + NameToken.ImageI + }; + var resources = new Dictionary { - { NameToken.ProcSet, new ArrayToken(new []{ NameToken.Create("PDF"), NameToken.Create("Text") }) } + { NameToken.ProcSet, new ArrayToken(procSet) } }; if (fontsWritten.Count > 0)