Last active

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist
View PdfFilter.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
public class PdfFilter : Stream
{
private readonly Stream _oldFilter;
private readonly string _baseUrl;
private readonly MemoryStream _memStream;
 
public override bool CanSeek
{
get { return false; }
}
 
public override bool CanWrite
{
get { return true; }
}
 
public override bool CanRead
{
get { return false; }
}
 
public override long Position
{
get { return 0L; }
set { }
}
 
public override long Length
{
get { return 0L; }
}
 
public PdfFilter(Stream oldFilter, string baseUrl)
{
_oldFilter = oldFilter;
_baseUrl = baseUrl;
_memStream = new MemoryStream();
}
 
public override int Read(byte[] buffer, int offset, int count)
{
return 0;
}
 
public override long Seek(long offset, SeekOrigin origin)
{
return 0L;
}
 
public override void SetLength(long value)
{
}
 
public override void Write(byte[] buffer, int offset, int count)
{
_memStream.Write(buffer, offset, count);
}
 
public override void Flush()
{
}
 
public override void Close()
{
var converter = new PdfConverter
{
MediaType = "print",
};
converter.PdfDocumentOptions.LiveUrlsEnabled = false;
 
_memStream.Position = 0;
 
converter.SavePdfFromHtmlStreamToStream(_memStream, Encoding.UTF8, _baseUrl, _oldFilter);
 
_oldFilter.Close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.