यह कोई पुराना सवाल है ... लेकिन अगर किसी में यहाँ फिर से मेरी समाधान यह था हो जाता है ... मैं था इस कठिन एक पृष्ठ में दो पृष्ठों के लिए कोडित तो यह मूल बातें पहले मैं दो PDF घुमाया है उस के बाद मैं उन्हें एक साथ मर्ज
को घुमाने के लिए दो पृष्ठों इस का उपयोग करें:
public static void RotatePDF(string inputFile, string outputFile)
{
using (FileStream outStream = new FileStream(outputFile, FileMode.Create))
{
iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(inputFile);
iTextSharp.text.pdf.PdfStamper stamper = new iTextSharp.text.pdf.PdfStamper(reader, outStream);
iTextSharp.text.pdf.PdfDictionary pageDict = reader.GetPageN(1);
int desiredRot = 90; // 90 degrees clockwise from what it is now
iTextSharp.text.pdf.PdfNumber rotation = pageDict.GetAsNumber(iTextSharp.text.pdf.PdfName.ROTATE);
if (rotation != null)
{
desiredRot += rotation.IntValue;
desiredRot %= 360; // must be 0, 90, 180, or 270
}
pageDict.Put(iTextSharp.text.pdf.PdfName.ROTATE, new iTextSharp.text.pdf.PdfNumber(desiredRot));
stamper.Close();
}
}
अब
आप उन्हें एक साथ विलय कर सकते हैं:
public static void MergeTwoPdfsToSingle(string inputFile1, string inputFile2, string outputFile)
{
//Step 1: Create a Docuement-Object
Document document = new Document();
try
{
//Step 2: we create a writer that listens to the document
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(outputFile, FileMode.Create));
//Step 3: Open the document
document.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page1;
PdfImportedPage page2;
// we create a reader for the document
PdfReader reader1 = new PdfReader(inputFile1);
PdfReader reader2 = new PdfReader(inputFile2);
document.SetPageSize(reader1.GetPageSizeWithRotation(1));
document.NewPage();
page1 = writer.GetImportedPage(reader1, 1);
page2 = writer.GetImportedPage(reader2, 1);
cb.AddTemplate(page1, 0, 0);
//play around to find the exact location for the next pdf
cb.AddTemplate(page2, 0, 300);
}
catch (Exception e) { throw e; }
finally { document.Close(); }
}
स्रोत
2013-07-16 12:48:20
कोई मौका तुम kno एडोब एक्रोबैट डीसी फॉर्म/नियंत्रण जैसे डेटा खोने से बचने के बारे में कुछ? अपने कोड का परीक्षण किया और यह पीडीएफ के ग्राफिक्स और ग्रंथों के लिए बहुत अच्छी तरह से काम करता है लेकिन मैं टेक्स्टबॉक्स, कम्बोबॉक्स और अन्य संपादन योग्य एडोब एक्रोबैट डीसी नियंत्रण जैसे नियंत्रण खो देता हूं। –
@ पॉलवेइलैंड - यदि मैंने नए पीडीएफ में कॉपी करते समय नियंत्रण रखना चाहते हैं तो आपको अन्य धागे पर पढ़ा है, तो आपको पीडीएफ कॉपी क्लास का उपयोग करने की आवश्यकता है। – jaredbaszler
@ jaredbaszler thx, इसे जांच लेंगे –