откройте мой файл PDF в формате PDFAnnotation, swift [duplicate]

Вы используете массив как объект, разница между getElementbyId и getElementsByClassName такова:

  • getElementbyId вернет вам объект.
  • getElementsByClassName вернет вам массив.

getElementsByClassName

Метод getElementsByClassName(classNames) принимает строку, содержащую неупорядоченный набор уникальных разделенных пробелами маркеры, представляющие классы. При вызове метод должен возвращать живой объект NodeList, содержащий все элементы документа, которые имеют все классы, указанные в этом аргументе, получив классы, разделив строку на пробелы. Если в аргументе нет токенов, тогда метод должен возвращать пустой NodeList.

blockquote>

https://www.w3.org/TR/2008/WD-html5 -20080610 / dom.html # getelementsbyclassname

getElementById

Метод getElementById () обращается к первому элементу с указанным id.

blockquote>

http://www.w3schools.com/jsref/met_doc_getelementbyid.asp

в вашем коде строки:

1- document.getElementsByClassName ('myElement'). Style.size = '100px';

blockquote>

НЕ будет работать, как ожидалось, потому что getElementByClassName вернет массив, и массив будет НЕ имеет свойство style, вы будете обращаться к каждому element, итерации их.

Вот почему функция getElementById работает на вас, эта функция вернет вам прямой объект, и поэтому вы сможет получить доступ к свойству style.

23
задан Yang Jie Domodomo 4 June 2012 в 10:37
поделиться

8 ответов

Вы можете использовать UIWebView, чтобы напрямую получать PDF-файл из своего пакета, не нужно вызывать онлайн-службу.

Локальный файл:

NSString *html = [NSString stringWithContentsOfFile:path1 encoding:NSUTF8StringEncoding error:nil];
[self.webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]bundlePath]]];

Удаленный файл:

- (void) loadRemotePdf
    {
       CGRect rect = [[UIScreen mainScreen] bounds];
       CGSize screenSize = rect.size;
        
       UIWebView *myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,screenSize.width,screenSize.height)];
        webView.autoresizesSubviews = YES;
            webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);

       NSURL *myUrl = [NSURL URLWithString:@"http://www.mysite.com/test.pdf"];
       NSURLRequest *myRequest = [NSURLRequest requestWithURL:myUrl];
            
       [webView loadRequest:myRequest];

       [window addSubview: myWebView];
       [myWebView release];
            
}
31
ответ дан self 23 August 2018 в 00:56
поделиться
  • 1
    Исправьте меня, если я ошибаюсь, но мне все же потребуется доступ в Интернет для просмотра UIWebView? И логика вашего кода - это что-то вроде базового HTML-кода, чтобы вытащить файл локальной переменной. Большое спасибо за вашу помощь. Если оставить без выбора, я думаю, что ваш очень простой и прямой метод решения точек. – Yang Jie Domodomo 4 June 2012 в 10:54
  • 2
    Нет !, вы можете получить доступ к локальным html-файлам с помощью UIWebView, без необходимости подключения к удаленным серверам, с UIWebView, вы можете делать как удаленные, так и локальные файлы (это путь, который изменяется :)) – self 4 June 2012 в 11:02
  • 3
    для загрузки локального pdf ( без подключения к Интернету ), вы можете использовать этот код: stackoverflow.com/questions/2832245/… – calimarkus 4 June 2012 в 13:15
  • 4
    Я также редактировал код выше. – calimarkus 4 June 2012 в 13:16
  • 5
    AlbrahimZ, почему вы снова удалили код загрузки pdf? Это то, что он искал. Не загружать локальный html-файл. – calimarkus 5 June 2012 в 09:45

SWIFT 4.x

Подход UIWebview в быстром режиме:

    //let url = URL.init(string: "https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf")! // for file in web
    let url = Bundle.main.url(forResource: "filename", withExtension: ".pdf")! // for file in bundle
    let webView = UIWebView.init(frame: view.frame)
    webView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    webView.loadRequest(URLRequest.init(url: url))
    view.addSubview(webView)
2
ответ дан Argus 23 August 2018 в 00:56
поделиться

Множество опций: 3:

1) Самый простой способ загрузить и отобразить локальный файл PDF - это использовать UIWebview:

NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];

2) Вы также можете использовать UIDocumentInteractionController / QLPreviewController, чтобы отображать PDF-файлы изначально.

3) Еще один способ - создать собственный PDF-просмотрщик, например, в apples Пример кода ZoomingPDFViewer . (с использованием UIPageViewController + CATiledLayer + UIScrollView)

36
ответ дан calimarkus 23 August 2018 в 00:56
поделиться
  • 1
    Если я использую UIDocumentInteractionController, значит, это будет полностью автономное базовое приложение? – Yang Jie Domodomo 4 June 2012 в 10:48
  • 2
    Да, но с Webview также. Вы также можете загружать локальные файлы PDF в веб-просмотр. – calimarkus 4 June 2012 в 10:52
  • 3
    Но разве мне не нужен интернет-доступ для загрузки веб-представления? извините, если я задаю глупый вопрос, это немного сбивает меня с толку в этот момент времени. – Yang Jie Domodomo 4 June 2012 в 10:55
  • 4
    @ jaydee3 Пользовательский Pdf Viewer опрятен :) – self 4 June 2012 в 11:03
  • 5
    спасибо, что ответили на мой вопрос! хотя вы более подробно разбираетесь в моем вопросе, я должен был отдать его AlbrahimZ, поскольку он первым ответил на него. – Yang Jie Domodomo 4 June 2012 в 15:28

Я советую вам использовать рамки QuickLook при работе с файлами PDF.

10
ответ дан Peres 23 August 2018 в 00:56
поделиться

Существует новый набор инструментов, который вводит в действие инструментарий. Он имеет множество специальных функций, связанных с отображением PDF-файлов. Вы можете использовать класс PdfView для отображения PDF либо из локального файла, либо через URL.

PDFKit > PDFView

0
ответ дан Rizan Zaky 23 August 2018 в 00:56
поделиться

Поздно, но есть некоторые ограничения с UIWebview при загрузке pdf-файлов, он не будет загружать редактируемый pdf правильно. поэтому загрузите любые файлы в формате pdf, используя следующий код

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"pdfFileName" ofType:@"pdf"]];
PDFView *view = [[PDFView alloc] initWithFrame:self.view.frame];
view.document = [[PDFDocument alloc] initWithURL:url];
[self.view addSubview:view];
1
ответ дан Shaik Riyaz 23 August 2018 в 00:56
поделиться

Я нашел этот сайт и очень простой способ открыть pdf-файл с любым доступным pdf-совместимым приложением, которое загружается на iPhone. (Я предпочитаю iBooks)

простой способ представить и открыть файл pdf

1
ответ дан user2616647 23 August 2018 в 00:56
поделиться
NSString *path = [[NSBundle mainBundle] pathForResource:@"Yourpdf" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 300, 400)];
[[webView scrollView] setContentOffset:CGPointMake(0,500) animated:YES];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, 50.0)"]];
[webView loadRequest:request];
[self.view addSubview:webView];
2
ответ дан Ved Rauniyar 23 August 2018 в 00:56
поделиться