After reproducing from my end, this was working fine when I followed the below process. I have created 2 Blob Trigger functions where one is to convert pdf to txt file and the other is to read the txt file, do the required manipulations and then saving to another container.
pdf triggers a function that extracts the text and saves it as txt in the container
Function1.cs - Reading the pdf file and saving it as text file in a container

using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
namespace FunctionApp5
{
public class Function1
{
[FunctionName("Function1")]
public void Run([BlobTrigger("pdfcontainer/{name}", Connection = "constr")]Stream myBlob, string name,
[Blob("textcontainer/1.txt", FileAccess.Write, Connection = "constr")] Stream outputBlob,ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
PdfReader reader = new PdfReader(myBlob);
int intPageNum = reader.NumberOfPages;
string[] words;
string line;
string text;
for (int i = 1; i <= intPageNum; i++)
{
text = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
using (var writer = new StreamWriter(outputBlob))
{
writer.Write(text);
}
}
}
}
}
Results:

the extracted text triggers a function that polishes the result and write a third file in the container
Function2.cs - Reading the uploaded text file and doing some manipulations and saving it to another container
using System.IO;
using System.Text;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace FunctionApp5
{
public class Function2
{
[FunctionName("Function2")]
public void Run([BlobTrigger("textcontainer/{name}", Connection = "constr")] Stream myBlob, string name,
[Blob("finalcontainer/1.txt", FileAccess.Write, Connection = "constr")] Stream outputBlob, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
string finalValue;
using (var reader = new StreamReader(myBlob, Encoding.UTF8))
{
finalValue = reader.ReadLine();
}
using (var writer = new StreamWriter(outputBlob))
{
writer.Write(finalValue.ToUpper());
}
}
}
}
Results:

