나는 파일 이름 접두사를 기반으로 PDF를 병합 할 일부 코드를 함께 모으는 중입니다. 현재 파일 이름을 잡고 병합하지 않지만 덮어 쓰는 아래 코드가 있습니다. 내 문제는 FileStream 배치라고 생각하지만 현재 위치에서 이동하면 파일 이름을 가져올 수 없습니다. 어떤 제안? 감사.iText FileStream overwirtes
static void CreateMergedPDFs()
{
string srcDir = "C:/PDFin/";
string resultPDF = "C:/PDFout/";
{
var files = System.IO.Directory.GetFiles(srcDir);
string prevFileName = null;
int i = 1;
foreach (string file in files)
{
string filename = Left(Path.GetFileName(file), 8);
using (FileStream stream = new FileStream(resultPDF + filename + ".pdf", FileMode.Create))
{
if (prevFileName == null || filename == prevFileName)
{
Document pdfDoc = new Document(PageSize.A4);
PdfCopy pdf = new PdfCopy(pdfDoc, stream);
pdfDoc.Open();
{
pdf.AddDocument(new PdfReader(file));
i++;
}
if (pdfDoc != null)
pdfDoc.Close();
Console.WriteLine("Merges done!");
}
}
}
}
}
}
}
답장을 보내 주셔서 감사합니다. 모든 파일을 단일 파일로 병합 할 수 있었지만 문제는 파일 접두사를 기반으로 여러 파일을 만드는 것입니다. 그래서 123.pdf, 122.pdf 및 222.pdf가 있고 출력 파일에 2 pdfs로 끝나고 싶습니다. for 루프에 들어가기 전에 파일 이름 (접두사)이 필요하므로 병합 할 수 있습니다. 말이 돼? – okmred
123.pdf, 122.pdf 및 222.pdf라는 파일의 접두어가 분명하지 않기 때문에 * 특정 * 요청이 이해가되지 않습니다. 접두사를 기반으로 파일을 필터링하고 그 접두사를 기반으로 파일을 병합하는 * 일반 * 요청은 이해할 만하다. 그러나이 질문은 iText 질문으로 태그를 붙여서는 안됩니다. 프로그래밍 언어. Java에서이 작업을 수행하는 방법을 설명 할 수 있습니다. C#에서 질문하는 방법을 묻고 싶다면 C# 질문을 작성해야합니다 (단, 이러한 질문은 하향 투표를받을 수 있습니다). –
답변을 업데이트했습니다. –