有没有办法将两个b5尺寸的pdf合并成单一的合法尺寸pdf。谷歌搜索后我没有找到任何解决方案。如何解决这个问题。我能用它做什么。我正在开发c#桌面应用程序,它将两个b5大小的pdf组合到单一的合法页面。一个左侧大小,另一个是右侧
e.g。输入
1. b5first.pdf
1234
2. b5second
567
输出应为
3. legal.pdf
1234 567
答案 0 :(得分:0)
您可以从第二个pdf中获取文本并将其放在首先放在您要放置的位置。 如果您使用的是iTextsharp,您可以执行类似
的操作String text += PdfTextExtractor.GetTextFromPage(reader, pageno ,new LocationTextExtractionStrategy());
然后可以将字符串放在任何地方。
答案 1 :(得分:0)
如果您正在寻找开源解决方案,请检查此MetafileToEPSConverter以将元文件转换为EPS,然后使用epstopdf(包含在LyX中)或类似工具将EPS转换为PDF。
答案 2 :(得分:0)
public static void somefunction(string oldFile,string oldFile1,string pathout)
{
// open the reader
PdfReader reader = new PdfReader(oldFile);
PdfReader reader1 = new PdfReader(oldFile1);
Document document = new Document(PageSize.LEGAL.Rotate());
// open the writer
FileStream fs = new FileStream(pathout, FileMode.Create, FileAccess.Write);
PdfWriter writer = PdfWriter.GetInstance(document, fs);
document.Open();
// the pdf content
PdfContentByte cb = writer.DirectContent;
// create the new page and add it to the pdf
PdfImportedPage page = writer.GetImportedPage(reader, 1);
PdfImportedPage page1 = writer.GetImportedPage(reader1, 1);
cb.AddTemplate(page, 0, 0);
cb.AddTemplate(page1, 500, 0);
// close the streams and voilá the file should be changed :)
document.Close();
fs.Close();
writer.Close();
reader.Close();
reader1.Close();
}