79543037

Date: 2025-03-29 09:29:23
Score: 0.5
Natty:
Report link

I tried this:

And it compiled, and didn't throw an exception:
Could you please replicate your issue, as a unit test case?

using iTextSharp.text.pdf;
using System.Net;

public class PdfStreamsHandler
{
    private string url1 = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";
    private string url2 = "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf";

    List<string> psURLs = new List<string>() {
    "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
    "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf",
    "https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
    };

    public MemoryStream MergePdfs()
    {
        MemoryStream finalStream = new MemoryStream();
        PdfCopyFields copy = new PdfCopyFields(finalStream);

        var ms1 = new MemoryStream();
        ConvertToStream(url1, ms1);
        ms1.Position = 0;
        copy.AddDocument(new PdfReader(ms1));
        ms1.Dispose();

        var ms2 = new MemoryStream();
        ConvertToStream(url2, ms2);
        ms2.Position = 0;
        copy.AddDocument(new PdfReader(ms2));
        ms2.Dispose();

        foreach (string s in psURLs)
        {
            var ms3 = new MemoryStream();
            ConvertToStream(s, ms3);
            ms3.Position = 0;
            copy.AddDocument(new PdfReader(ms3));
            ms3.Dispose();
        }

        copy.Close();

        return finalStream;
    }

    private void ConvertToStream(string fileUrl, Stream stream)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fileUrl);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        try
        {
            Stream response_stream = response.GetResponseStream();

            response_stream.CopyTo(stream, 4096);
        }
        finally
        {
            response.Close();
        }
    }
}
public class UnitTest
{
    [Fact]
    public void TestAnswer2()
    {
        PdfStreamsHandler pdfStreamHandler = new PdfStreamsHandler();
        MemoryStream actualResult = pdfStreamHandler.MergePdfs();
        Assert.NotNull(actualResult);
    }
}
Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Ends in question mark (2):
Posted by: Morten Bork