Как установить начальные свойства вида при добавлении u3d в pdf с использованием itext7
Я добавил изображение u3d в pdf (согласно этому примеру), обнаружил, что изображение u3d добавлено в pdf, но когда я открываю pdf с помощью Acrobat, я не вижу его напрямую (пустой блок, но меню 3D). щелкните правой кнопкой мыши на пустом блоке и выберите "Параметры детали" - "Подогнать видимый", чтобы он появился. Если я использую пример teapot.u3d, он работает (откройте, затем посмотрите). Является ли мой файл u3d слишком большим (от 3 до 7 МБ), но файл teapot.u3d только 141 КБ.
Вот пример кода, который я использую:
public void manipulatePdf(String dest) {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
Rectangle rect = new Rectangle(100, 400, 400, 400);
PdfStream stream3D = new PdfStream(pdfDoc, new FileInputStream(RESOURCE));
stream3D.Put(PdfName.Type, new PdfName("3D"));
stream3D.Put(PdfName.Subtype, new PdfName("U3D"));
stream3D.SetCompressionLevel(CompressionConstants.DEFAULT_COMPRESSION);
stream3D.Flush();
PdfDictionary dict3D = new PdfDictionary();
dict3D.Put(PdfName.Type, new PdfName("3DView"));
dict3D.Put(new PdfName("XN"), new PdfString("Default"));
dict3D.Put(new PdfName("IN"), new PdfString("Unnamed"));
dict3D.Put(new PdfName("MS"), PdfName.M);
dict3D.Put(new PdfName("C2W"),
new PdfArray(new float[] { 1, 0, 0, 0, 0, -1, 0, 1, 0, 3, -235, 28 }));
dict3D.Put(PdfName.CO, new PdfNumber(235));
Pdf3DAnnotation annot = new Pdf3DAnnotation(rect, stream3D);
annot.SetContents(new PdfString("3D Model"));
annot.SetDefaultInitialView(dict3D);
pdfDoc.AddNewPage().AddAnnotation(annot);
doc.Close();
}
Если я удалю эту строку: "annot.SetDefaultInitialView(dict3D);" Я могу открыть и увидеть изображение, но фон черный, а изображение темное. Мне интересно, PdfDictionary в примере не подходит для моего изображения u3d. Не уверены, что для другого изображения u3d требуются разные свойства PdfDictionary или начального вида? Нам нужно открыть и увидеть трехмерное изображение, но мы не знаем, как установить свойства вида. Кто-нибудь может помочь в этом?